博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot-Shiro使用
阅读量:5827 次
发布时间:2019-06-18

本文共 1033 字,大约阅读时间需要 3 分钟。

Shiro简介

Apache Shiro是Java的一个安全框架,详细的教程可以看大神的

基础配置

参考,就不在这里赘述了。

注意事项

  • 问题:默认自定义AuthorizingRealm中service缓存不生效 
    解决方案:增加@Lazy注解,
  • 问题:多组织机构登陆参数传递,当用户有多组织机构时登陆给予提示,并传递组织机构信息到登陆页面 
    解决方案:自定义异常,将查询结果放到异常中传递到登陆页面,异常信息会传递到对应的登陆方法中,通过request.getAttribute("shiroLoginFailure")来获取。
  • 问题:按钮级权限处理 
    解决方案:通过给菜单指定资源名称+配置菜单对应的permission 来实现,前端使用shiro:hasPermission="${资源名:权限名}"来控制按钮显示,controler端通过@RequiresPermissions("资源名:权限名")注解来控制访问权限
  • 问题:自定义filters不生效,执行顺序异常 

    解决方案:

    1. 将过滤器的设置提到filterChainDefinitionMap之前,
    2. 不使用spring托管的模式管理过滤器使用new的方式初始化,spring托管会导致过滤器执行顺序异常
    3. 其它场景使用spring拦截器实现,而不使用过滤器
      Map
      filters = shiroFilterFactoryBean.getFilters();//将自定义 的FormAuthenticationFilter注入shiroFilter中filters.put("authc", new AuthenticationFilter());shiroFilterFactoryBean.setFilters(filters);Map
      filterChainDefinitionMap = new LinkedHashMap
      ();filterChainDefinitionMap.put("/logout", "logout"); filterChainDefinitionMap.put("/**", "authc");shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);


转载地址:http://oqodx.baihongyu.com/

你可能感兴趣的文章
自己遇到的,曾未知道的知识点
查看>>
P1382 楼房 set用法小结
查看>>
分类器性能度量
查看>>
windows 环境下切换 python2 与 pythone3 以及常用命令
查看>>
docker 基础
查看>>
C++中STRING转为INT (转)
查看>>
ASP.NET上传多个文件
查看>>
学习:UTF-8和GBK的区别
查看>>
Shape parameter 形状参数
查看>>
【求助】小系统组成大系统所遇到的问题
查看>>
js 中英文字符串长度
查看>>
让xp系统(win2003系统)支持搜索文件内容
查看>>
使用ServiceStack构建Web服务
查看>>
[Everyday Mathematics]20150123
查看>>
阿里云客户服务部总经理张颖杰:用心聆听,服务见智
查看>>
(转) Deep Reinforcement Learning: Playing a Racing Game
查看>>
2016年中国最具幸福感城市评选出炉
查看>>
阿里云服务器怎么去掉tomcat的8080端口
查看>>
50.2. Compiling mod_caucho.so
查看>>
入会申请书参考
查看>>