系统权限设计

主体对象:

1.用户

2.部门
3.分组
4.角色
5.权限
6.资源

对象之间的关系:
1.站在用户的角度出发:
    一个用户有一个或多个直接领导,也可以有一个或多个下属
    一个用户属于一个部门或者多个部门
    一个用户属于一个分组或多个分组
    一个用户属于一个角色或多个角色组
    一个用户也可以直接赋予一个或多个权限

2.站在部门的角度出发:
    一个部门可以有一个或多个直接上级部门,也可以有一个或多个下属部门
    一个部门可以拥有一个或多个员工(用户)
    一个部门只能拥有一个角色组

3.站在分组的角度出发:
    一个 分组 可以拥有一个或多个员工(用户)
    一个 分组 只能拥有一个角色组
    部门与 分组 之间没有直接关系

4.站在角色的角度出发:
    一个角色可以有1个或多个父角色,也可以有1个或多子角色
    一个角色可以属于1个或多个用户
    一个角色可以属于1个或多个分组
    一个角色可以属于1个或多个部门
    一个角色可以有1个或多个权限

5.站在权限的角度出发:
    一个权限可以有1个或多个父权限,也可以有1个或多子权限
    一个权限可以属于一个或多个用户
    一个权限可以属于一个或多个角色
    一个权限可以有一个或多个资源

6.站在资源的角度出发:
    一个资源可以属于1个或多个权限
    资源之间没有关系

权限冲突问题:
一个用户的权限可能来自于:
1.直接赋予的权限
2.所属角色的权限
3.所属部门的部门角色权限
4.所属分组的分组角色权限
带来的问题:
如何统一这些来自于不同渠道的的权限?大家有什么建议和想法么?

猜你喜欢

转载自crawler.iteye.com/blog/1672283