数据库权限设计
来源:互联网 发布:英雄无敌 mac 10.13 编辑:程序博客网 时间:2024/05/22 11:52
转自:http://blog.itpub.net/16436858/viewspace-627049/
用户、角色、权限数据库设计
权限管理
权限管理,主要是人员和权限之间的关系,但是如果让人员直接和权限打交道,那么权限的赋值、权限的撤销以及权限的变动会非常的麻烦,这样引入了,角色,给角色赋权限,然后给用户分配角色。
这个设计主要涉及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]
以上便是所有的数据库结构,代码正在实现中;
最后权限的最终呈现和表现是通过菜单来实现的,个人感觉粒度太大了(最小是页面),现在我想知道能否将权限加到某一个按钮上面,请大家指点
0 0
- 权限管理数据库设计
- 数据库权限管理设计 .
- 权限管理数据库设计
- 测试权限数据库设计
- web权限数据库设计
- 数据库权限设计
- 权限数据库设计
- PHP数据库权限设计
- 权限控制 数据库设计
- 数据库角色权限设计
- 权限系统数据库设计
- 数据库权限设计
- 权限管理数据库设计
- 权限数据库表设计
- 数据库权限优化,权限设计BigInteger
- 关于权限的数据库设计
- 关于权限的数据库设计
- 复杂的数据库权限设计
- Linux SSH免密码登录与拷贝文件(SCP)- 亲测
- 近期笔面试总结
- arm qt自启+网络自动获取ip地址c
- 寄存器位写操作
- 为什么网页设计要使用栅格化
- 数据库权限设计
- 自定义Django Command命令
- HDU 5093Battle ships
- 源码-Oracle数据库管理-第十三章-子程序和包-Part 4(定义PL/SQL包)
- Zili's Backlog
- qq聊天记录词频查询 python实现
- 关于Tomcat启动报错:Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"]
- Git 的 .gitignore 配置
- 十六进制转十进制