此设计采用“用户—角色—许可”的设计思想,即:一个用户拥有多个角色、一个角色拥有多个许可、一个角色拥有多个许可。这种设计方式很方便扩展您系统的权限管理模块。以下给出了基本框架的数据表结构设计,您可以在此基础上扩展以方便和您的应用结合。本库设计采用MS SQL Server 2000数据库系统,所以推荐您使用存储过程进一步实现系统功能,在这里存储过程的代码就不写了
用到的数据表
英文名
|
中文名
|
Accounts_Permissions
|
许可表
|
Accounts_RolePermissions
|
角色许可表
|
Accounts_Roles
|
角色表
|
Accounts_UserRoles
|
用户角色表
|
Accounts_Users
|
用户表
|
Accounts_UserType
|
用户类型表
|
表详细设计
表名:Accounts_Permissions 许可表
| ||||||||
字段名
|
主键
|
类型
|
长度
|
允许空
|
默认值
|
描述
| ||
PermissionId
|
PK
|
Int
|
4
|
N
|
|
许可编号(手动编码)
| ||
PermissionName
|
|
Nvarchar
|
50
|
N
|
|
许可名称(唯一)
| ||
CategoryId
|
|
Int
|
4
|
N
|
|
所属类别(模块)名称
| ||
表名:Accounts_RolePermissions 角色许可表
| ||||||||
字段名
|
主键
|
类型
|
长度
|
允许空
|
默认值
|
描述
| ||
RoleId
|
PK
|
Int
|
4
|
N
|
|
角色编号
| ||
PermissionId
|
PK
|
Int
|
4
|
N
|
|
许可编号
| ||
表名:Accounts_Roles 角色表
| ||||||||
字段名
|
主键
|
类型
|
长度
|
允许空
|
默认值
|
描述
| ||
RoleId
|
PK
|
Int
|
4
|
N
|
|
角色编号
| ||
RoleName
|
|
Nvarchar
|
50
|
N
|
|
角色名称
| ||
表名:Accounts_UserRoles 用户角色表
| ||||||||
字段名
|
主键
|
类型
|
长度
|
允许空
|
默认值
|
描述
| ||
UserId
|
PK
|
Bigint
|
8
|
N
|
|
用户编号
| ||
RoleId
|
PK
|
Int
|
4
|
N
|
|
角色编号
| ||
表名:Accounts_Users 用户表
| ||||||||
字段名
|
主键
|
类型
|
长度
|
允许空
|
默认值
|
描述
| ||
UserId
|
PK
|
Bigint
|
8
|
N
|
|
用户编号(自增)
| ||
UserName
|
|
Nvarchar
|
50
|
N
|
|
用户名(登录用,唯一)
| ||
NickName
|
|
Nvarchar
|
50
|
N
|
|
真实姓名(昵称)
| ||
Email
|
|
Nvarchar
|
50
|
N
|
|
电子邮件
| ||
Password
|
|
Nvarchar
|
50
|
N
|
|
密码(采用SHA1加密,加密后为40位)
| ||
UserTypeId
|
|
Int
|
4
|
N
|
|
用户类型编号
| ||
ActiveStatus
|
|
Bit
|
1
|
N
|
|
开通状态(0à关闭;1à开通)
| ||
表名:Accounts_UserType 用户类型表
| ||||||||
字段名
|
主键
|
类型
|
长度
|
允许空
|
默认值
|
描述
| ||
UserTypeId
|
PK
|
Int
|
4
|
N
|
|
类型编号
| ||
UserTypeName
|
|
Nvarchar
|
50
|
N
|
|
类型名称
|