美文网首页
Shiro11-Shiro 整合开发-realm 授权

Shiro11-Shiro 整合开发-realm 授权

作者: 我相信你爱过gg | 来源:发表于2017-05-20 22:36 被阅读33次

实现流程

  1. 我们在 Spring-shiro.xml 中配置过滤规则.
<!--商品查询需要商品查询权限 ,取消url拦截配置,使用注解授权方式 -->
/items/queryItems.action = perms[item:query]

如果有多个权限, 用逗号分隔perms[item:query,.....]

  1. 用户在认证通过后,请求/items/queryItems.actionurl
  2. PermissionsAuthorizationFilter拦截, 拦截后发现需要item:query权限.
  3. PermissionsAuthorizationFilter 调用 realm 中的doGetAuthorizationInfo 方法.获取数据库正确权限.
  4. PermissionsAuthorizationFilteritem:query权限 和 从 realm 中获取的权限进行对比, 如果item:query在 realm 返回的权限列表中, 则授权通过.

注意: 如果授权失败会跳转到refuse.jsp页面.

    <!-- 通过unauthorizedUrl指定没有权限操作时跳转页面-->
    <property name="unauthorizedUrl" value="/refuse.jsp" />

问题总结

  1. 在 spring-shiro.xml 中配置过滤器链接, 需要将全部 URL 和权限对应起来进行配置, 比较麻烦.
  2. 每次授权都需要调用 realm 查询数据, 对系统性能有很大影响, 可以通过 shiro 缓存来解决.

相关文章

  • Shiro11-Shiro 整合开发-realm 授权

    实现流程 我们在 Spring-shiro.xml 中配置过滤规则. 如果有多个权限, 用逗号分隔perms[it...

  • Realm for Swift

    Realm Studio 使用 Realm Studio,让开发更有效率。您可以轻松地打开任何 Realm 数据库...

  • Shiro 的 Realm

    在认证、授权内部实现机制中都有提到,最终处理都将交给Realm进行处理。因为在Shiro中,最终是通过Realm来...

  • SpringBoot + Shiro 整合

    --本文记录了 SpringBoot + Shiro整合,包括 Shiro 登录认证(多个 Realm认证),Se...

  • shiro--授权--javase

    //自定义realm授权,当你在自定义中的realm中有认证的时候就不需要在ini配置文件中在此配置

  • Android Error:Execution failed f

    在使用butterknife和realm进行开发时,realm无法正常编译,原来冲突的时候是butterknife...

  • realm数据库开发(二)

    realm数据库的理论知识在[realm数据开发(一)]http://www.jianshu.com/p/76b6...

  • 3.21学习

    Shiro(整合thymeleaf):认证和授权的框架Swagger(整合thymeleaf):API实时更新工具...

  • Shiro12-Shiro 整合开发-注解授权

    我们之前在前面说过三种授权方式 现在我们就是用 第二种 和 第三种方式 注解方式 建议在 controller 层...

  • Realm数据库存储 使用详解

    文章目录 一 Realm 框架 概念介绍 开发辅助工具 二 Realm 使用教程 1 简单的数据操作 创建数据模型...

网友评论

      本文标题:Shiro11-Shiro 整合开发-realm 授权

      本文链接:https://www.haomeiwen.com/subject/nnjpxxtx.html