码迷,mamicode.com
首页 > 其他好文 > 详细

权限管理逻辑

时间:2017-07-05 23:44:02      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:iss   效率   信息   组成   bsp   perm   批量添加   rmi   ring   

1.检查选中模块所属的角色是存在的
 
2.绑定模块:
 
创建授权列表
1. 绑定本模块,加入授权列表中
2.父模块绑定
2.1 判断是否存在父级
如果存在父级 : 获取父模块信息, 判断父模块是否被授权,如果没有被授权加入授权列表。
如果是第二级之后, 存在多个父模块的情况, 拿到本模块的treePath,即父模块的id,判断父模块是否被授权,进行批量查询(in 关键字),如果没有被授权加入授权列表。
3.子模块绑定
3.1 如果不存在父级,则直接开始此模块。
建立子模块的treePath :
1. 如果该模块的treePath为空, 子模块treePath为该模块的id。
2. 如果该模块的treePath不为空, 子模块的treePath为 该模块的treePath+该模块的id。
根据建立的treePath进行批量查询是否存在子模块:
1. 如果不存在, 在t_permission中批量添加授权列表,结束绑定模块。
2. 如果存在, 根据上面所建立的treePath查询子级模块的信息。
对查询到的子模块判断是否已经授权, 如果没有授权, 加入授权列表中。
这里为了方便,提高效率,直接将所查询到的子模块全部解绑,
再往t_permission中批量添加授权列表,结束绑定模块。
 
3.解绑模块:
 
1.解绑本模块
2.解绑所属的子模块
建立子模块的treePath :
1. 如果该模块的treePath为空, 子模块treePath为该模块的id。
2. 如果该模块的treePath不为空, 子模块的treePath为 该模块的treePath+该模块的id。
根据建立的treePath进行批量查询是否存在子模块:
如果存在,根据上面所建立的treePath查询子级模块的信息。
对子模块判断是否存在
1.如果不存在, 结束解绑模块。
2.如果存在,将所有子模块解绑,结束解绑模块。
 
关于 treePath:
String 类型 ,根级 为 Null,之后的级别,一父级id组成的 ,1,2, 形式的字符串

权限管理逻辑

标签:iss   效率   信息   组成   bsp   perm   批量添加   rmi   ring   

原文地址:http://www.cnblogs.com/lijunp/p/7123946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!