一种基于角色的安全性的数据表设计

原创 2006年05月17日 15:35:00

将不同的用户赋予不同角色,从而具有不同权限,是对用户进行分类管理的一个办法.而由此基于数据库的实现可参考如下实例.

 

1.users用户表

USE [数据库]
GO
/****** Object:  Table [dbo].[Users]    Script Date: 05/17/2006 15:18:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Users](
 [UserId] [nvarchar](63) COLLATE Chinese_PRC_CI_AS NOT NULL,
 [Password] [nvarchar](63) COLLATE Chinese_PRC_CI_AS NOT NULL,
 [RoleId] [int] NOT NULL,
 CONSTRAINT [Users_PK] PRIMARY KEY CLUSTERED
(
 [UserId] ASC
) ON [PRIMARY]
) ON [PRIMARY]

GO
USE [Pkc_Demo]
GO
ALTER TABLE [dbo].[Users]  WITH CHECK ADD  CONSTRAINT [Roles_Users_FK1] FOREIGN KEY([RoleId])
REFERENCES [dbo].[Roles] ([RoleId])

2.roles数据表

USE [数据库]
GO
/****** Object:  Table [dbo].[Roles]    Script Date: 05/17/2006 15:21:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Roles](
 [RoleId] [int] NOT NULL,
 [RoleName] [nvarchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
 [Description] [nvarchar](127) COLLATE Chinese_PRC_CI_AS NULL,
 CONSTRAINT [Roles_PK] PRIMARY KEY CLUSTERED
(
 [RoleId] ASC
) ON [PRIMARY]
) ON [PRIMARY]

3.一个roles表的实例

1 系统管理员帐户 系统管理员帐户
5 银行查询帐户 银行查询帐户
10 银行报告账户 银行报告账户
20 学校报告账户  

4.ID为什么是1,5,10,20我想这可能主要是为了以后增加方面,比如对于系统管理员账户可以生成相关的有多种权限的管理员,可以由1,2,3,....等等ID组成.如果对于其它10可以生成11,12,13,等帐户这样又可进行分组,而且便于编程.

所以推荐采用,1 ,10,20,30,40作为角色的ID的分组,如进一步细分就成了11,21等等情况.便于以后扩展.

基于角色的访问控制RBAC的mysql表设计

一、用户角色表,用于存储角色id和角色名称,表结构如下: create table roles( role_id int unsigned not null auto_increment, rol...
  • xiaoxiaodongxie
  • xiaoxiaodongxie
  • 2016年09月01日 16:12
  • 1847

基于角色的权限设计(一)

在任何系统中,权限设计是最基础的东西,本文给出一个基于角色的权限设计的循序渐进的设计方案。   在权限系统中,功能(权限)是最小的单位,比如起草新闻、编辑新闻、审核新闻、删除新闻等,而角色是一类功能...
  • snomyc
  • snomyc
  • 2014年08月19日 10:02
  • 8340

基于角色的权限访问控制数据库设计

  对于权限、角色、组、用户之间的关系,四者之间均是多对多的关系:            设计的原则:数据是数据,关系是关系。 1.       要求:用户、客户、员工,这三者是一种继承的关系。分配角...
  • spring21st
  • spring21st
  • 2008年11月13日 00:13
  • 4805

java OA 系统开发一:数据库设计之用户—角色—权限分配

 本文主要讲述在OA系统设计时用户——角色——权限的数据库设计,以便实现权限分配。...
  • zhouzhiwengang
  • zhouzhiwengang
  • 2014年10月04日 00:18
  • 1712

基于角色的权限设计 - 数据库

最近项目中需要设计一个权限系统,收集了一下资料,权限系统主要有两种技术:ACL(Access Control List)和RBAC(Role-Based Access Control)。前者是将用户直...
  • forebeacher
  • forebeacher
  • 2011年07月13日 11:53
  • 3718

基于角色的权限设计(通用RBAC权限设计)

基于角色的权限设计
  • hardworking0323
  • hardworking0323
  • 2016年04月11日 21:19
  • 561

如何设计数据库表实现完整的RBAC(基于角色权限控制)

如何设计数据库表实现完整的RBAC(基于角色权限控制) RBAC(基于角色的权限控制)是一个老话题了,但是这两天我试图设计一套表结构实现完整的RBAC时,发现存在很多困难。我说的完整的RBAC,是指支...
  • dizhang
  • dizhang
  • 2007年07月15日 23:28
  • 1962

ThinkPHP——RBAC角色和权限数据模拟及设计

ThinkPHP——RBAC角色和权限数据模拟及设计
  • u014796999
  • u014796999
  • 2015年09月23日 08:22
  • 751

基于角色的安全性介绍

在财务或商务应用程序中经常使用角色来强制策略。例如,应用程序可能根据提出请求的用户是不是指定角色的成员,对要处理的事务大小加以限制。职员有权处理的事务可能小于指定的阈值,主管拥有的权限可能比职员的高,...
  • zuiqfeng
  • zuiqfeng
  • 2010年10月20日 22:16
  • 50

基于角色的安全性(一)

基于角色的安全性(一)Montaque    在财务或商务应用程序中经常使用角色来强制策略。例如,应用程序可能根据提出请求的用户是否是指定角色的成员,对正在处理的事务的大小加以限制。职员有权处理的事务...
  • Montaque
  • Montaque
  • 2003年02月22日 09:59
  • 1126
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一种基于角色的安全性的数据表设计
举报原因:
原因补充:

(最多只允许输入30个字)