SqlServer-RBAC五表許可權
這只是一個精簡的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