基于角色的访问控制 (RBAC)权限管理

  RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。

  在系统访问中,最终判断的是当前用户拥有哪些权限,以使用相关的权限进行业务处理。

  在RBAC中,共有用户、部门、权限、角色四个概念,部门是用户的集合,角色是权限的集合;用户可以拥有不同的权限和角色,部门也可以拥有不同的权限和角色;权限拥有上下级关系,并且在系统中可以有业务权限与数据权限两类;部门拥有上下级关系,此设计方式没有对权限进行继承;部门和用户是一对多的关系,一个部门中可以有多个用户,一个用户只允许属于一个部门。

  数据表结构如下:

  1.用户表


表名:t_user


字段名称


字段类型


主外键


是否必填


备注


user_id


varchar(32)


主键


必填


主键


login_name


varchar(255)


必填


登录用户名


login_pass


varchar(255)


必填


密码


org_id


varchar(32)


外键


必填


所属机构ID


user_name


varchar(255)


必填


真实姓名


user_phone


varchar(255)


电话号码


user_email


varchar(255)


Email


create_date


varchar(10)


必填


创建日期


create_time


varchar(8)


必填


创建时间


create_user


varchar(32)


外键


必填


创建人

  2.机构表


表名:t_organization


字段名称


字段类型


主外键


是否必填


备注


org_id


varchar(32)


主键


必填


主键


org_name


varchar(255)


必填


机构名称


org_code


varchar(255)


机构编码


org_header


varchar(255)


机构负责人


parent_id


varchar(32)


表内外键


必填


上级机构ID,根机构的ID为空


create_date


varchar(10)


必填


创建日期


create_time


varchar(8)


必填


创建时间


create_user


varchar(32)


外键


必填


创建人

  3.权限表


表名:t_right


字段名称


字段类型


主外键


是否必填


备注


right_id


varchar(32)


主键


必填


主键


right_name


varchar(255)


必填


权限名称


right_code


varchar(255)


权限编码


parent_id


varchar(32)


表内外键


必填


父权限ID, 根权限的ID为空


create_date


varchar(10)


必填


创建日期


create_time


varchar(8)


必填


创建时间


create_user


varchar(32)


外键


必填


创建人

  4.用户权限关系表


表名:t_user_right


字段名称


字段类型


主外键


是否必填


备注


ur_id


varchar(32)


主键


必填


主键


user_id


varchar(32)


外键


必填


用户ID


right_id


varchar(32)


外键


必填


权限ID

  5.机构权限关系表


表名:t_org_rigth


字段名称


字段类型


主外键


是否必填


备注


or_id


varchar(32)


主键


必填


主键


org_id


varchar(32)


外键


必填


机构ID


right_id


varchar(32)


外键


必填


权限ID

  6.角色表


表名:t_role


字段名称


字段类型


主外键


是否必填


备注


role_id


varchar(32)


主键


必填


主键


role_name


varchar(255)


必填


角色名称


create_date


varchar(10)


必填


创建日期


create_time


varchar(8)


必填


创建时间


create_user


varchar(32)


外键


必填


创建人

  7.用户角色关系表


表名:t_user_role


字段名称


字段类型


主外键


是否必填


备注


ur_id


varchar(32)


主键


必填


主键


user_id


varchar(32)


外键


必填


用户ID


role_id


varchar(32)


外键


必填


角色ID

  8.机构角色关系表


表名:t_org_role


字段名称


字段类型


主外键


是否必填


备注


or_id


varchar(32)


主键


必填


主键


org_id


varchar(32)


外键


必填


机构ID


role_id


varchar(32)


外键


必填


角色ID

  9.角色权限关系表


表名:t_role_right


字段名称


字段类型


主外键


是否必填


备注


rr_id


varchar(32)


主键


必填


主键


role_id


varchar(32)


外键


必填


角色ID


right_id


varchar(32)


外键


必填


权限ID

原文地址:https://www.cnblogs.com/alexliuzw/p/10454178.html

时间: 2024-11-08 11:54:57

基于角色的访问控制 (RBAC)权限管理的相关文章

基于角色的访问控制RBAC

------------------------------------------------------------------------------------------------------- RBAC(Role Based Access Control),意为基于角色的访问控制,这里用户不再拥有单独权限,而是与角色相关联,通过赋予角色权限,那么该用户也就拥有了这个角色的权限; 这里的角色可以也理解为用户组. 权限控制位置:在公共的控制器类的构造方法内,这样子类均需进行权限验证; 

Flask实现基于角色的访问控制(RBAC)

Flask的核心在于"Micro",因此它不像Django拥有很多功能,尤其是认证系统.因此使用Flask要自己写一个认证系统.下面就给大家分享一下简单的Flask实现RBAC.下面都是在models.py文件的代码 1.权限常量 class Permission: COMMENT = 0x02 ADMINISTER = 0x80 2.角色表 class Role(db.Model): __tablename__ = 'roles' id =db.Column(db.Integer,p

Yii2.0中文开发向导——RBAC(基于角色的访问控制权限)表结构原理分析

这里有几个概念很重要,我简单用大白话说一下;权限:就是指用户是否可以执行哪些操作.如:小张可以发帖.回帖.浏览,小红只能回帖.浏览角色:就是上面说的一组操作的集合.如:高级会员有发帖.回帖.删贴.浏览的权限,普通会员只有回帖.浏览的权限.比如小张是高级会员,那么他就可以执行发帖.回帖.删贴.浏览.而小红是普通会员,所以它就只能回帖.浏览.另外角色还可以继承,中级会员除了普通会员的回帖.浏览功能外,还可以发帖.也就是说在普通会员的基础上又增加了一个发帖的权限.在Yii2.0中 yii\rbac:

RBAC 基于角色的访问控制

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用户-角色-权限"的授权模型.在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系.(如下图) 角色是什么?可以理解为一定数量的权限的集合,权限的载体.例如:一个论坛系统,"超级管理员"."版主"都是角色.版主可管理版内的帖子.可管理版内的用户等,

RBAC(Role-Based Access Control)基于角色的访问控制

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用户-角色-权限"的授权模型.在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系.(如下图) 角色是什么?可以理解为一定数量的权限的集合,权限的载体.例如:一个论坛系统,"超级管理员"."版主"都是角色.版主可管理版内的帖子.可管理版内的用户等,

RBAC基于角色的访问控制

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用户-角色-权限"的授权模型.在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系.(如下图) 角色是什么?可以理解为一定数量的权限的集合,权限的载体.例如:一个论坛系统,"超级管理员"."版主"都是角色.版主可管理版内的帖子.可管理版内的用户等,

RBAC (基于角色的访问控制)

基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权限的管理.在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色.角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收.角色与角色的关系可以建立起来以囊括更广

RBAC 基于角色的访问控制演示

RBAC rbac:Role Based Access Controll,基于角色的访问控制. 今天理一理RBAC,话不多说,直接切入主题 功能需求: 权限管理(无限极) 角色管理(可以分配权限) 管理员管理(管理员属于哪些角色) 后台左侧显示当前登录用户所拥有的权限 超级管理员拥有所有权限 实现 建表(我们需要三个表,管理员表.角色表.权限表,tip:也可用其它建表方式) 管理员表 权限表 角色表 我制作完的三张表的CRUD,后台首页效果展示(具体的增删改查就不列步骤了): 管理员表 权限表

RBAC(Role-Based Access Control,基于角色的访问控制)

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色-权限”的授权模型.在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系.(如下图) 角色是什么?可以理解为一定数量的权限的集合,权限的载体.例如:一个论坛系统,“超级管理员”.“版主”都是角色.版主可管理版内的帖子.可管理版内的用户等,这些是权限.要给某个用户授予这些权限,不需要直接将