1.第一步设计实体 用工具画出privilege实体类其中包含的属性和与其他类的关联关系,我们是这么设计的如下图:
我们不是直接让用户和权限关联,而是用了Role这个中间件来关联,原因是如果User跟Privilege直接关联的话比如一个User有80个权限,然后需要增加一些权限那么就要给每个User都增加所以很麻烦,所以就设计一个角色类:admin 游客 会员等等角色,每个角色拥有自己的权限,那么如果需要修改或者增加权限的话只需要给Role增加就ok了,User对应Role,所以设计思路如下:
User跟角色之间是多对多的关系。
角色跟Privilege之间也是多对多的关系。
注意自关联:比如系统管理(Parent)下面又有岗位管理和用户管理,所以是1对多自关联。
权限设计说明:
在我们的程序中,一个功能对应一个或两个URL:权限就是控制功能的使用(功能对应着URL)。
对功能的控制就是对URL的访问控制。
1,例如列表或删除功能,只对应一个URL.
2,例如添加或修改功能,对应两个URL:..add, ..addUI
如何来做权限?
第一步:初始化数据: ①权限数据 ②超级管理员(就是new一个用户给他所有权限基本每个系统都有个admin)
第二步:分配权限: ①给角色分配权限 ②用户的权限就是用户所有角色的权限。
第三步:使用权限