springboot_shiro_redis整合(二)-shiro-权限控制
目录
内容
三、测试效果
- 登录测试
-
登录界面
-
管理员登录
-
普通员工登录
-
登录没有权限
四、问题及解决方案
1、shiro导致的预检跨域
-
报错
-
解决方案
需要提升跨域过滤器执行顺序,配置如下:@Bean public FilterRegistrationBean corsFilter() { FilterRegistrationBean<Filter> registration = new FilterRegistrationBean<>(); final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); final CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); // corsConfiguration.addAllowedHeader("token"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); corsConfiguration.setMaxAge(3600L); corsConfiguration.setAllowCredentials(true); // corsConfiguration.addExposedHeader("*"); // corsConfiguration.addExposedHeader("ckey"); source.registerCorsConfiguration("/**", corsConfiguration); CorsFilter corsFilter = new CorsFilter(source); registration.setFilter(corsFilter); registration.setName("corsFilter"); **registration.setOrder(1);** return registration; }
2、redis 自定义配置参数不生效
配置信息在application.yml中,使用@Value注入,生成RedisManager没生效,报错如下:
java.util.NoSuchElementException: Timeout waiting for idle object
暂时没解决 #F44336,说以暂时使用默认配置信息生成RedisManager。
3、不使用shiro-redis包 自定义实现整合redis
需要自定义实现CacheManager AbstractSessionDAO,暂时没研究 #F44336等有空再研究下。
五、总结
暂时性整合shiro、redis,初步实现功能,但是很多问题没有解决,很多地方需要改进,有时间继续研究更新,完整代码在下面仓库中。
后记 :
本项目为参考某马视频开发,相关视频及配套资料可自行度娘或者联系本人。上面为自己编写的开发文档,持续更新。欢迎交流,本人QQ:806797785
后端JAVA源代码地址:https://gitee.com/gaogzhen/ihrm-parent // 后端项目
前端项目源代码地址:https://gitee.com/gaogzhen/ihrm-vue // 前端后台管理系统