然之OA权限管理思路分析

一、权限相关分析
1.然之OA权限管理,通过组管理,给组添加添加用户、应用、添加模块、添加操作。
2.概念解析
(1)用户(User)可以拥有多个角色(Role),角色可以被分配给多个用户
(2)权限的意思就是对某个资源的某个操作,现在规定
a)所谓资源,即系统的模块
b)所谓操作,包括:增加、删除、修改、查询等操作
3. 权限管理系统的总体功能分为:授权与认证
4、授权,指将权限授予角色或用户
a) 如果用户A拥有角色B、角色C,那么,缺省的情况下,用户A将拥有被分配给角色A和角色C的所有权限(即默认情况下,用户A继承其拥有的角色所具有的所有权限)
b) 如果用户拥有多个角色,那么用户的权限是这些角色权限的合集
c) 如果用户拥有多个角色,而且角色之间的授权有冲突(比如对同一个资源的同一个操作,一个角色为“允许”,另外一个角色为“不允许”),将以优先级别高的角色为准(所谓优先级别,也就是对于这个用户所拥有的角色而言,是有顺序的,同一个角色在不同的用户那里可能拥有不同的优先级)
5. 认证,指用户访问资源的某些操作时,根据授权,判断是否允许用户的访问
a)在用户访问的时候,需要进行即时的判断(是否有权访问)


二、管理员给用户分配权限。
(1)添加分组
然之OA权限管理思路分析_第1张图片
组的右侧对应有 应用、成员、权限等功能
(2)添加应用
然之OA权限管理思路分析_第2张图片
选择左侧应用,保存。
(3)添加成员
这里写图片描述
(4)权限编辑
然之OA权限管理思路分析_第3张图片
页面呈现应用下的所有模块和操作,选择应用则包含应用下的所有模块和操作。如果不想给全部的权限,应该从操作选择。

以上操作涉及3张表:
(a)表1 sys_usergroup 用户帐号和组对应
然之OA权限管理思路分析_第4张图片
(b)表2 sys_group 组相关信息表
然之OA权限管理思路分析_第5张图片
(c)表3 sys_grouppriv 组权限表
然之OA权限管理思路分析_第6张图片
表2的主id对应表1 和表3的字段group


三、总结与思考
(1)总结
(a)这样的表没有主键id虽然不知道有什么缺点,但是看起来确实怪怪的。
(c)如果我设计表3组权限表,也许会设计字段为id,group,app,module,method,看起来一目了然,
不过相对会产生多条记录。
(2)还有其它比较好的权限管理思路吗?
四,相关连接:
http://blog.csdn.net/u013630349/article/details/51733749

你可能感兴趣的:(其它)