我是靠谱客的博主 要减肥书包,这篇文章主要介绍权限管理算法,现在分享给大家,希望可以做个参考。

多数支撑系统或管理系统都有管理员、角色、权限管理,不同角色拥有不同权限,不同管理员拥有不同角色。如何实现以上需求:

  1. 通过数据库N对N的方式实现,通过第三张表管理管理员与角色、角色与权限之间的关系。
  2. 通过二进制方式实现,具体方法如下:
  • 为每一个操作权限设置一个唯一的整数值,如:删除A---0  修改A---1  添加A---2  删除B---3  修改B---4  添加B---5。
  • 如果某角色拥有权限:添加A---2;删除B---3;修改B---4,那用户的权限值 purview =2^2+2^3+2^4=28,也就是2的权的和,化成二进制可以表示为11100。
  • 如果想验证是否拥有删除A---0,可以用purview&2^0==2^0?true:false;
  • 如果想验证是否拥有删除A---0和删除B---3的权限,可以用purview&(2^0+2^3)==(2^0+2^3)?true:false;
  • 几点注意事项:首先,一个系统可能有很多的操作,因此,请建立数据字典,以便查阅,修改时使用。其次,如果用数据库储存用户权限,请注意数值的有效范围。操作权限值请用唯一的整数!Java的int类型最多可以储存11个权限和.如果超过,可以选择其它数据类型,而且建议不同模块,使用多个权限变量。

最后

以上就是要减肥书包最近收集整理的关于权限管理算法的全部内容,更多相关权限管理算法内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部