RBAC权限管理设置

RBAC(Role-Based Access Control,基于角色的访问控制)是一种常用的访问控制机制,用于管理系统中的用户权限。RBAC通过将用户分配给角色,并将权限授予角色,从而控制用户对资源的访问。

基于RBAC实现的权限管理通常需要涉及以下几张表:

1. 用户表(user):记录系统中的所有用户,包括用户ID、用户名、密码等信息。

2. 角色表(role):记录系统中的所有角色,包括角色ID、角色名等信息。

3. 用户角色关联表(user_role):记录用户和角色之间的关联关系,包括用户ID、角色ID等信息

4. 权限表(permission):记录系统中的所有权限,包括权限ID、权限名、权限类型等信息。

5. 角色权限关联表(role_permission):记录角色和权限之间的关联关系,包括角色ID、权限ID等信息。

 

建表语句 

-- 创建角色表
CREATE TABLE roles (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  description VARCHAR(255),
  PRIMARY KEY (id)

);


-- 创建资源表
CREATE TABLE resources (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  description VARCHAR(255)
);

-- 创建用户表
CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL
);
-- 创建权限表
CREATE TABLE permissions (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  description VARCHAR(255),
  resource_id INT NOT NULL,
  FOREIGN KEY (resource_id) REFERENCES resources(id)
);

-- 创建角色-权限关联表
CREATE TABLE role_permissions (
  role_id INT,
  permission_id INT,
  FOREIGN KEY (role_id) REFERENCES roles(id),
  FOREIGN KEY (permission_id) REFERENCES permissions(id),
  PRIMARY KEY (role_id, permission_id)
);

-- 创建用户-角色关联表
CREATE TABLE user_roles (
  user_id INT,
  role_id INT,
  FOREIGN KEY (user_id) REFERENCES users(id),
  FOREIGN KEY (role_id) REFERENCES roles(id),
  PRIMARY KEY (user_id, role_id)
);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值