springboot_shiro_redis整合(二)-shiro-权限控制

springboot_shiro_redis整合(二)-shiro-权限控制

目录




内容

三、测试效果

  • 登录测试
  1. 登录界面
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DU26EnPq-1614088955618)(./images/2021-02-23_shiro-login.png)]

  2. 管理员登录
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-249YBpKp-1614088955621)(./images/2021-02-23_admin.png)]

  3. 普通员工登录
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OEvpiRe3-1614088955623)(./images/2021-02-23_member.png)]

  4. 登录没有权限
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LzY17vdD-1614088955624)(./images/2021-02-23_unauthorization.png)]

四、问题及解决方案

1、shiro导致的预检跨域

  • 报错[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WKk7jI7b-1614088955625)(./images/2021-02-23_preflight-cors.png)]

  • 解决方案
    需要提升跨域过滤器执行顺序,配置如下:

        @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    // 前端后台管理系统
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gaog2zh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值