这只是一个精简的SqlServer-RBAC五表权限,根据自身需求修改即可

--创建数据库-权限
CREATE DATABASE RBAC
GO
USE RBAC
GO

--1、权限表
CREATE TABLE t_permission (
id INT PRIMARY KEY IDENTITY,
name varchar(20) NOT NULL,
[description] varchar(255)
)

--2、角色表
CREATE TABLE t_role (
id INT PRIMARY KEY IDENTITY,
name varchar(20) NOT NULL,
[description] varchar(255)
)

--3、用户表
CREATE TABLE t_user (
id INT PRIMARY KEY IDENTITY,
username varchar(20) NOT NULL
)

--4、角色权限关系表
CREATE TABLE role_permission (
id int PRIMARY KEY IDENTITY,
role_id INT FOREIGN KEY REFERENCES dbo.t_role(id),
permission_id INT FOREIGN KEY REFERENCES dbo.t_permission(id),
)

--5、用户角色关系表
CREATE TABLE user_role (
id int PRIMARY KEY IDENTITY,
user_id INT FOREIGN KEY REFERENCES dbo.t_user(id),
role_id INT FOREIGN KEY REFERENCES dbo.t_role(id)
)

--测试数据
INSERT INTO t_permission VALUES ('小说收藏',NULL), ('小说发布',NULL), ('广告发布',NULL)
INSERT INTO t_role VALUES ('读者',NULL), ('作者',NULL), ('管理员',NULL)
INSERT INTO t_user VALUES ('reader'), ('author'), ('admin')
INSERT INTO role_permission VALUES ('1','1'), ('2','2'), ('3','3')
INSERT INTO user_role VALUES ('1','1'), ('2','2'), ('3','3')

--查询
SELECT * FROM dbo.t_permission
SELECT * FROM dbo.t_role
SELECT * FROM dbo.t_user
SELECT * FROM dbo.role_permission
SELECT * FROM dbo.user_role

SqlServer-RBAC五表权限的更多相关文章

  1. rbac - 界面、权限

    一.模板继承 知识点: users.html / roles.html 继承自 base.html 滑动时,固定 position: fixed;top:60px;bottom:0;left:0;wi ...

  2. Auth主件的(RBAC) 六表

    1.RBAC 和Auth的区别 基于RBAC一般Djagno 会用 和Auth 相对来说高级一点 2.RBAC( role Based Accsess Control)的六表之间的数据传输 2.1 D ...

  3. 解剖SQLSERVER 第五篇 OrcaMDF里读取Bits类型数据(译)

    解剖SQLSERVER 第五篇  OrcaMDF里读取Bits类型数据(译) http://improve.dk/reading-bits-in-orcamdf/ Bits类型的存储跟SQLSERVE ...

  4. [转]扩展RBAC用户角色权限设计方案

    原文地址:http://www.iteye.com/topic/930648 RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地 ...

  5. 扩展RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  6. SQLServer Alter 修改表的列名的解决

    解决:在SQLServer中修改表的列名,可以调用存储过程sp_rename. [sql]use Test;--使用数据库  sp_rename 'd_s_t.avg_grade','avg_g',' ...

  7. RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用 户-角色 ...

  8. SQLServer 中有五种约束, Primary Key 约束、 Foreign Key 约束、 Unique 约束、 Default 约束和 Check 约束

    一直在关注软件设计方面,数据库方面就忽略了很多,最近在设计数据库时遇到了一些小麻烦,主要是数据库中约束和性能调优方面的应用,以前在学习 Sql Server 2000,还有后来的 Sql Server ...

  9. 一套能体现 RBAC 的表结构设计

    1.RBAC 概述 2.表结构设计 2.1.用户表 2.2.角色表 2.3.权限表 2.4.用户角色(关系)表 2.5.角色权限(关系)表 3.总结 1.RBAC 概述 RBAC(Role-Based ...

随机推荐

  1. .NET西安社区 [拥抱开源,又见 .NET] 活动简报

    拥抱开源, 又见 .NET」 随着 .NET Core的发布和开源,.NET又重新回到了人们的视野.除了开源.跨平台.高性能以及优秀的语言特性,越来越多的第三方开源库也出现在了Github上——包括M ...

  2. 使用Domain-Driven创建Hypermedia API

    在现实中我们会遇到各种各样的复杂场景,"There is not a right way" 用来描述API的设计方法再合适不过了,没有一种API设计方式可以应对所有的场景.区别于& ...

  3. hadoop集群无法找到datanode节点问题解决

    问题:在配置hadoop集群时,master的50070后台中找不到slave的datanode节点怎么办? 解决: 方法一:首先确认下master和slave的hdfs-site.xml配置中的df ...

  4. TCP中往返时间的估计与超时

    往返时间的估计与超时   TCP采用超时/重传机制来处理报文段的丢失问题.尽管这在概念上面很简单,但是在实际中还是会产生很多微妙的问题.最明显还是超时时间间隔的设置.很显然,这个时间间隔肯定会大于RT ...

  5. Spark提高篇——RDD/DataSet/DataFrame(一)

    该部分分为两篇,分别介绍RDD与Dataset/DataFrame: 一.RDD 二.DataSet/DataFrame 先来看下官网对RDD.DataSet.DataFrame的解释: 1.RDD ...

  6. shell高效处理文本(1):xargs并行处理

    xargs具有并行处理的能力,在处理大文件时,如果应用得当,将大幅提升效率. xargs详细内容(全网最详细):https://www.cnblogs.com/f-ck-need-u/p/592592 ...

  7. Hive环境搭建及测试

     前提条件:已经安装好如下软件 Eclipse4.5 hadoop-2.7.3 jdk1.7.0_79 此篇文章基于上一篇文章:zookeeper高可用集群搭建 什么是Hive? 1.Hive是一个基 ...

  8. Python字典小结

      字典(dict)结构是Python中常用的数据结构,笔者结合自己的实际使用经验,对字典方面的相关知识做个小结,希望能对读者一些启发~ 创建字典   常见的字典创建方法就是先建立一个空字典,然后逐一 ...

  9. [转]centos7指定yum安装软件路径

    本文转自:https://www.cnblogs.com/pyyu/p/9814062.html 网上的命令都是垃圾 yum -c /etc/yum.conf --installroot=/opt/a ...

  10. Centos 7.6配置nginx反向代理,直接yum安装

    一,实验介绍 利用三台centos7虚拟机搭建简单的nginx反向代理负载集群, 三台虚拟机地址及功能介绍 192.168.2.76    nginx负载均衡器 192.168.2.82    web ...