RBAC的用户权限管理原理

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RBAC的用户权限管理原理相关的知识,希望对你有一定的参考价值。

1 问题描述

当我们谈到一个应用或者网站的时候,一般情况下是受不了用户的。而每个用户能做的事情肯定是受到限制的,我们能让用户做的事情就放心交给用户,不能的我们就不会给这个机会。这就要谈到用户权限的问题。今天学习的内容就是RBAC的权限管理原理。

2 问题分析

一个系统或者应用程序的使用者就有用户和管理员,用户也会有不同的等级或者说不同的用户也会有不同的权限。我们就需要将用户能使用的权限授予给用户。这样的目的是起到安全的作用,同时保证用户的体验,以及方便管理。那么RBAC是如何管理权限的呢?

3 解决方案

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

RBAC认为授权就是who、what、how的关系,就相当于说,一个人,扮演了什么角色,这个角色能做什么。比如:我这个人,是一个学生,我可以考试。RBAC将权限最小化,然后角色对应权限,用户对应角色。简单的说就是讲角色和权限连在一起,扮演这个角色就会拥有这个权限,一个拥有多少权限就得看他扮演了多少角色。当一个用户要执行某个操作的时候,我们直接就可以通过判断角色来判断用户是否拥有权限。在RBAC中还有group和session的概念,这个概念就是讲拥有相同权限的角色分为一个group,儿sessein是将一个用户拥有的权限作为一个映射。这样就很方便与权限的管理了。

4 总结

其实RBAC的模式并不难懂,学习了它的原理之后大概就能知道在实际中怎么去运用了。但是只知道原理还是不够的,RBAC还有很多知识需要去学习。

更多精彩文章:










 

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

以上是关于RBAC的用户权限管理原理的主要内容,如果未能解决你的问题,请参考以下文章

用户权限设计(RBAC)您熟悉吗?原理和思路全在本文。

用户管理系统 - 用户权限设计(RBAC模型)

thinkphp 3.2.3 rbac 超级管理员可登录 其他提示没有权限

权限管理(RBAC)

后台设计基石:用户权限管理(RBAC)及工作流(workflow)

RBAC用户权限管理数据库设计