基于角色管理的权限分配 是设计思路如下:
其中 users :用户 roles:角色 permission:权限
他们之间的关系是:
用户 n:m 角色即( 一个用户可以有多个角色 一个角色可以 可以有多个用户)
角色 n:m 权限即( 一个角色可以有多个权限 一个权限可以 可以分配个多个角色)
用户 相对应的数据表 (用户表,用户组表)
角色 相对应的数据表 (角色表,角色类表)
权限 相对应的数据表 (权限表,权限对象控制表)
权限对象是指应用系统窗口中的可视对象,如菜单项、按钮、下拉列表框、数据编辑控件及数据编辑控件的字段等。权限对象控制通过角色与用户授权来实现。
权限对象控制包括对 权限对象属性的控制可对数据编辑控件中的数据记录的维护权限:
1.对象属性:使能/禁止、可视/屏蔽
2.记录维护:增加、删除、修改的组合
用户表 T_Authority_User
字段名称 | 字段类型 | 备注 |
id | int | 自动编号 |
username | nvarchar (50) | 用户名 |
userpassword | nvarchar (50) | 密码(+密) |
roleid | nvarchar (200) | 角色id 列表 对应 (角色表) |
groupid | nvarchar (200) | 用户组 id 列表 对应 (用户组表) |
createtime | Smalldatetime(4) | 建立时间 |
lastonlinetime | Smalldatetime(4) | 最后在线时间 |
用户组表 T_Authority_Group
字段名称 | 字段类型 | 备注 |
id | int | 自动编号 |
name | nvarchar (50) | 用户组名称 |
roleid | nvarchar (200) | 角色id 列表 对应 (角色表) |
角色表 T_Authority_Role
字段名称 | 字段类型 | 备注 |
id | int | 自动编号 |
roleclassid | Int(4) | 角色类id 单一 (对应角色类表) |
permissionid | nvarchar (200) | 权限 id 列表 (对应权限表) |
name | nvarchar (50) | 角色名称 |
角色类表 T_Authority_RoleClass
字段名称 | 字段类型 | 备注 |
id | int | 自动编号 |
name | nvarchar (50) | 角色类名称 |
权限表 T_Authority_Permission
字段名称 | 字段类型 | 备注 |
id | int | 自动编号 |
name | nvarchar (50) | 权限对象名称 |
pmcontrolid | nvarchar (200) | 权限控制 id列表 (对应权限控制表) |
权限对象控制表 T_Authority_PmControl
字段名称 | 字段类型 | 备注 |
id | int | 自动编号 |
name | nvarchar (50) | 权限对象控制名称 |
内部总体功能框架图:
此技术文档转载于商企通在线客服官网:www.caiyufu.com