[{"title":"( 49 个子文件 35KB ) Shiro + JWT + SpringBoot + MySQL + Redis(Jedis)实现无状态鉴权机制","children":[{"title":"ShiroJwt","children":[{"title":"pom.xml <span style='color:#111;'> 5.87KB </span>","children":null,"spread":false},{"title":"src","children":[{"title":"main","children":[{"title":"resources","children":[{"title":"mybatis-config.xml <span style='color:#111;'> 2.65KB </span>","children":null,"spread":false},{"title":"application.yml <span style='color:#111;'> 1.15KB </span>","children":null,"spread":false},{"title":"generator","children":[{"title":"generatorConfig.xml <span style='color:#111;'> 2.99KB </span>","children":null,"spread":false}],"spread":true},{"title":"config.properties <span style='color:#111;'> 978B </span>","children":null,"spread":false},{"title":"mapper","children":[{"title":"PermissionMapper.xml <span style='color:#111;'> 1017B </span>","children":null,"spread":false},{"title":"RoleMapper.xml <span style='color:#111;'> 992B </span>","children":null,"spread":false},{"title":"UserRoleMapper.xml <span style='color:#111;'> 532B </span>","children":null,"spread":false},{"title":"RolePermissionMapper.xml <span style='color:#111;'> 556B </span>","children":null,"spread":false},{"title":"UserMapper.xml <span style='color:#111;'> 673B </span>","children":null,"spread":false}],"spread":true},{"title":"sql","children":[{"title":"MySQL.sql <span style='color:#111;'> 1.98KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"java","children":[{"title":"com","children":[{"title":"wang","children":[{"title":"exception","children":[{"title":"CustomUnauthorizedException.java <span style='color:#111;'> 326B </span>","children":null,"spread":false},{"title":"CustomException.java <span style='color:#111;'> 317B </span>","children":null,"spread":false}],"spread":true},{"title":"config","children":[{"title":"shiro","children":[{"title":"UserRealm.java <span style='color:#111;'> 3.89KB </span>","children":null,"spread":false},{"title":"JWTFilter.java <span style='color:#111;'> 4.82KB </span>","children":null,"spread":false},{"title":"ShiroConfig.java <span style='color:#111;'> 4.08KB </span>","children":null,"spread":false},{"title":"CustomCache.java <span style='color:#111;'> 2.69KB </span>","children":null,"spread":false},{"title":"JedisConfig.java <span style='color:#111;'> 3.31KB </span>","children":null,"spread":false},{"title":"CustomCacheManager.java <span style='color:#111;'> 453B </span>","children":null,"spread":false},{"title":"JWTToken.java <span style='color:#111;'> 500B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"model","children":[{"title":"RoleDto.java <span style='color:#111;'> 345B </span>","children":null,"spread":false},{"title":"UserDto.java <span style='color:#111;'> 347B </span>","children":null,"spread":false},{"title":"PermissionDto.java <span style='color:#111;'> 369B </span>","children":null,"spread":false},{"title":"UserRoleDto.java <span style='color:#111;'> 362B </span>","children":null,"spread":false},{"title":"common","children":[{"title":"ResponseBean.java <span style='color:#111;'> 847B </span>","children":null,"spread":false}],"spread":false},{"title":"RolePermissionDto.java <span style='color:#111;'> 387B </span>","children":null,"spread":false},{"title":"entity","children":[{"title":"User.java <span style='color:#111;'> 1.98KB </span>","children":null,"spread":false},{"title":"UserRole.java <span style='color:#111;'> 1.27KB </span>","children":null,"spread":false},{"title":"Role.java <span style='color:#111;'> 870B </span>","children":null,"spread":false},{"title":"Permission.java <span style='color:#111;'> 1.32KB </span>","children":null,"spread":false},{"title":"RolePermission.java <span style='color:#111;'> 1.35KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"Application.java <span style='color:#111;'> 473B </span>","children":null,"spread":false},{"title":"mapper","children":[{"title":"UserRoleMapper.java <span style='color:#111;'> 245B </span>","children":null,"spread":false},{"title":"UserMapper.java <span style='color:#111;'> 229B </span>","children":null,"spread":false},{"title":"PermissionMapper.java <span style='color:#111;'> 572B </span>","children":null,"spread":false},{"title":"RoleMapper.java <span style='color:#111;'> 524B </span>","children":null,"spread":false},{"title":"RolePermissionMapper.java <span style='color:#111;'> 269B </span>","children":null,"spread":false}],"spread":true},{"title":"controller","children":[{"title":"UserController.java <span style='color:#111;'> 5.83KB </span>","children":null,"spread":false},{"title":"ExceptionController.java <span style='color:#111;'> 1.88KB </span>","children":null,"spread":false}],"spread":true},{"title":"service","children":[{"title":"IBaseService.java <span style='color:#111;'> 4.70KB </span>","children":null,"spread":false},{"title":"IUserService.java <span style='color:#111;'> 187B </span>","children":null,"spread":false},{"title":"impl","children":[{"title":"UserServiceImpl.java <span style='color:#111;'> 313B </span>","children":null,"spread":false},{"title":"BaseServiceImpl.java <span style='color:#111;'> 2.58KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"util","children":[{"title":"StringUtil.java <span style='color:#111;'> 3.10KB </span>","children":null,"spread":false},{"title":"JedisUtil.java <span style='color:#111;'> 9.66KB </span>","children":null,"spread":false},{"title":"SerializableUtil.java <span style='color:#111;'> 2.34KB </span>","children":null,"spread":false},{"title":"common","children":[{"title":"JsonConvertUtil.java <span style='color:#111;'> 590B </span>","children":null,"spread":false}],"spread":false},{"title":"JWTUtil.java <span style='color:#111;'> 2.32KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":".gitignore <span style='color:#111;'> 664B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]