RBAC权限模型

什么是RBAC权限模型

PBAC是基于角色访问权限的控制。
简单来说就是谁(who)能对什么(what)进行什么样的操作。
who、what、how构成了访问权限三元组。

RBAC支持公认的安全原则

PBAC支持最小权限原则、责任分离原则、数据抽象原则。
1.最小权限原则指的是被分配角色权限不得高于权限分配的角色。;
2.责任分离原则指的是你可以指定责任上两个互相约束的角色来完成敏感性的工作,比如在考试中,指定考试的人和考官。
3. 数据抽象原则指的在某些抽像的数据上,比如信用,借款等抽象的许可权利,安全管理员可以不遵守这些原则,使用灵活的细节配置来实现,而不是通过系统提供的权限读写来实现。

责任分离(动态责任分离和动态责任分离)

1.运行时互斥:系统运行时,只能执行一个角色权限。比如班主任和语文老师,他可以同时拥有两种权限,但是执行时候只能执行一个权限。
2.先决条件:可以理解为,总统是从竞选人员中选举,要成为总统你必须是竞选人员。
3.基数约束:可以理解为领导的职位的个数限制,比如公司的董事个数,执行董事的个数。
4.互斥角色:可以理解为会计和审核人员,不能同一个,监督人员和被监督人不能为同一个人。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
RBAC(Role-Based Access Control)权限模型是一种常见的权限控制机制,能够实现用户对系统内资源的访问控制。下面介绍基于Java实现RBAC权限模型的步骤。 1. 数据库设计 首先需要设计数据库表,主要包含用户表、角色表、权限表和关系表。其中,用户表存储用户信息,角色表存储角色信息,权限表存储权限信息,关系表记录用户和角色的关系、角色和权限的关系。 2. 实现用户登录 用户登录是RBAC权限模型的入口,在此之前,需要实现用户注册和密码加密功能。用户登录界面输入账号和密码,对密码进行加密和校验,成功后获取用户信息和角色信息。获取后将角色信息保存在会话中供后续使用。 3. 实现角色认证 用户登录成功后,需要通过角色认证确定用户是否拥有访问资源的合法权限。在Java中,通常采用Spring Security框架来实现角色认证。在配置文件中,定义要保护的资源和允许访问该资源的角色列表。 4. 实现管理员功能 管理员功能是指对角色和权限进行管理的功能,包括创建角色、修改角色、删除角色、授权等。在Java中,可以使用Spring MVC框架来实现管理员功能。管理员创建角色时,需要指定角色名称和角色描述;管理员授权时,需要选择角色和权限,并将授权信息保存至关系表中。 5. 实现普通用户功能 普通用户功能是指用户能够访问的资源和权限的功能。在Java中,可以使用Spring MVC框架来实现普通用户功能。在访问特定资源时,通过会话中保存的角色信息和Spring Security框架授权信息确定当前用户是否拥有访问该资源的合法权限。 总体来说,基于Java实现RBAC权限模型需要涉及到数据库设计、用户登录、角色认证、管理员功能和普通用户功能等方面的开发工作。通过合理的设计和实现,可以实现对系统内资源的访问控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值