表设计----用户表,角色表,权限表

基于角色的访问控制:(java Web 编程口诀)

用户表角色表,用户角色中间表。

角色表权限表,角色权限中间表。



一个用户可有多个角色,一个角色又可有多个权限。这就是用户-角色-权限授权的模型。

为何不直接让用户对应权限?

角色=一定数量的权限集合

将特定用户的权限封装到一个角色。

封装,或者面向对象设计的体现。



不足:

此时,在用户之上加一个userGroup用户组的概念。可给单个用户授权或特定用户组授权。

这样,一次授权,多个用户得到相同权限,此时用户所拥有的权限是用户个人权限+用户所在组权限

用户组,用户与角色三者的关系:



应用系统中权限的表现形式:

菜单访问,功能模块操作,文件上传,删改,按钮图片是否可见等。都属于权限控制范畴。

有些权限设计将功能操作作为一个类型,把文件菜单页面元素等作为另外一个类型,这就是用户-权限-资源的授权模型。

相关sql可参考:

关于各种表的字段可参考:

经验分享 程序员 微信小程序 职场和发展