用户验证系统模块设计(用户--角色--许可)

本文介绍了一种基于“用户-角色-许可”的权限管理系统设计思路,通过五个关键数据表(许可表、角色许可表、角色表、用户角色表、用户表及用户类型表)详细阐述了如何构建灵活且易于扩展的权限管理模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此设计采用“用户—角色—许可”的设计思想,即:一个用户拥有多个角色、一个角色拥有多个许可、一个角色拥有多个许可。这种设计方式很方便扩展您系统的权限管理模块。以下给出了基本框架的数据表结构设计,您可以在此基础上扩展以方便和您的应用结合。本库设计采用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
 
类型名称
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值