shiro如何实现权限控制算法,比如有大量栏目,每个栏目有多个权限

frank1112 发布于 2013/12/10 18:26
阅读 369
收藏 0
如果用户有权限:添加A---2;删除B---3;修改B---4
那用户的权限值 purview =2^2+2^3+2^4=28,也就是2的权的和了。
化成二进制可以表示为11100
这样,如果要验证用户是否有删除B的权限,就可以通过位与运算来实现。
即是:int value = purview &((int)Math.pow(2,3));
你会发现,当用户有操作权限时,运算出来的结果都会等于这个操作需要的权限值!


原理:
以上面的式子为例:purview & 2^3 也就是 28&8
将它们化成二进制有
  11100
& 01000
-------------------

  01000 == 8(十进制) == 2^3

用shiro要如何实现呢

加载中
0
光石头
光石头
想多了,url判断通吃,参见#springrain#
0
pantrick
pantrick
这样也可行?
返回顶部
顶部