用户、角色、权限数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⽤户、⾓⾊、权限数据库设计
权限管理
权限管理,主要是⼈员和权限之间的关系,但是如果让⼈员直接和权限打交道,那么权限的赋值、权限的撤销以及权限的变动会⾮常的⿇烦,这样引⼊了,⾓⾊,给⾓⾊赋权限,然后给⽤户分配⾓⾊。
这个设计主要涉及6张表,
⽤户表(⽤于存储⽤户的所有信息)
权限表(⽤于存储所有的权限)
⾓⾊表(⽤于存储所有的⾓⾊)
⽤户和⾓⾊的关联表(⽤户和⾓⾊的关联)
⾓⾊和权限的关联表(⾓⾊和权限的关联)
菜单表(⾥⾯关联了权限,主要是现实⽤的)
⽤户表
CREATE TABLE [dbo].[Users](
[UserID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [nvarchar](50) primary key,--帐号
[Password] [nvarchar](50) ,
[UserDspName] [nvarchar](50) ,
[Sex] [char](1),
[Birthday] [datetime],
[Phone] [nvarchar](20) ,
[Email] [nvarchar](100),
[EmployeeID] [nvarchar](20) ,
[Activity] [bit],--是否可⽤
[UserType] [char](2) ,
[Style] [nvarchar](50)
)
权限表:
CREATE TABLE [dbo].[Permission](
[PermissionID] int identity,
[Description] [nvarchar](50) --权限名称
)
⾓⾊表:
CREATE TABLE [dbo].[Roles](
[RoleID] [int] IDENTITY,
[Description] [nvarchar](200)--⾓⾊名称
)
⽤户和⾓⾊的关联表:
CREATE TABLE [dbo].[UserRoles](
[UserID] [int] NOT NULL,--⽤户ID
[RoleID] [int] not null ,--权限ID
CONSTRAINT [PK_UserRoles] PRIMARY KEY CLUSTERED
(
[UserID] ASC,
[RoleID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
⾓⾊和权限的关联表:
CREATE TABLE [dbo].[RolePermissions](
[RoleID] int NOT NULL,--⾓⾊ID
[PermissionID]int NOT NULL,--权限ID
CONSTRAINT [PK_RolePermissions] PRIMARY KEY CLUSTERED
(
[RoleID] ASC,
[PermissionID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY]
菜单表:
CREATE TABLE [dbo].[menu](
[ID] [int] IDENTITY(1,1) NOT NULL,
[TextCH] [nvarchar](100) NULL,--菜单的中⽂显⽰ [TextEN] [nvarchar](200) NULL,--菜单的英⽂名称 [ParentID] [int] NULL,--⽗节点
[orderID] [int] NULL,--同⼀个⽗节点下⾯的排序
[Url] [nvarchar](200) ,--菜单对于的权限
[PermissionID] [int] NULL,--权限ID
[ImageUrl] [nvarchar](50) NULL--菜单图⽚链接
) ON [PRIMARY]。