zoukankan      html  css  js  c++  java
  • shiro授权-记调试过程

    根据张开涛老师的shiro教程学习过程中 感觉shiro授权这块有点绕 调试了十几遍 大概有个思路  记录一下

    1.单元测试入口

    2.subject().isPermitted("+user1+2")

     

    .

    3.根据格式选择传入需要判断的“+user1+2“权限解析器

    4.将字符串解析成Permission对象

     得到传入判断的Permission对象如下

     

     5.接下来执行第2步的  isPermitted(principals, p)

    6.获取授权信息  getAuthorizationInfo(principals)方法调用 ,先从缓存里找zhang这个用户的权限 如果没有  调用doGetAuthorizationInfo()方法获取授权信息

     7.这里给zhang这个角色添加权限  三个角度 (1.角色  2.Permission对象 3.字符串权限)

    8.getAuthorizationInfo()得到info,调用isPermitted(Permission permission, AuthorizationInfo info) 

    9.从授权信息info获取Permission权限集合(分别permission对象,字符串对象和角色包含的权限获取)

    10. 将字符串权限,角色中权限解析成Permission对象

    自定义角色权限解析器

     11.当授权信息里的全部解析为permission对象后 开始调用遍历授权信息里的权限调用perm.implies(permission)与传入需要判断的permission比对

     

     12.判断是否包含传入的权限  有匹配的话返回true 。至此,判断权限结束

  • 相关阅读:
    85个国外Ajax例子
    如何捕获方向键
    C#版对对碰[强荐]
    如何关闭移动盘的自动播放
    常用算法大全-回溯算法
    string转换成color
    常用算法大全-分而治之算法
    常用算法大全-分枝定界
    C#游戏——极品蜜蜂V1.0
    WebService传多个参数和返回多个参数的方法
  • 原文地址:https://www.cnblogs.com/haoxianrui/p/7868958.html
Copyright © 2011-2022 走看看