00:00
简单的介绍了一下RBAC权限模型是怎么回事,它都有哪些核心的概念,以及它的表结构是什么样的。我们介绍完了,那接下来我们往下来看RBAC权限模型,它从简单到复杂,它分成四个级别。那我们来看看这四个级别都分别是什么,我们虽然说不会讲的很难,但是我们也得知道,所以首先看第一个叫RBAC0。RBAC0是RBAC的核心模型,其他的级别都是建立在该级别的基础之上,所以啊,它里面会有用户角色,还有许可,这里的许可就是我们所谓的权限。那么它里面有三个核心的概念,但是它还多了一个叫绘画,那么这个绘画大家可以看到,我们这里会有一个一,这里会有一个一,表述的是用户和绘画是一对一的关系,而这个绘画呢和角色呢是一对N,就是一对多的关系,那这是什么意思呢?那是因为啊,我们所谓的绘画,咱们换一种称呼就会好一些,叫场景。
01:21
一个用户在某一个场景当中,他担当了什么样的角色,这就是我们三者之间的关系。举个例子,我在当前的教室里面,我是你们的老师,诶,这个教室呀,就是一个场景,但是我回到家里面,我的角色就发生了变化。我是我孩子的父亲,是我父母的儿子,是我媳妇的老公,所以我的角色就发生了变化啊,这就是所谓的场景,但是我们暂时先不考虑它,我们还是用户角色和许可啊啊,接着往下啊,往下以后他说了啊,我们的RBAC当中,我们的用户和角色是多对多,角色和许可是多对多,那么一个用户最终拥有的许可,它等于这个用户拥有的角色对应的许可的合集。
02:26
你会发现它的这个文字的描述。有点绕啊,咱们把它看明白,一个用户最终你是拥有了什么样的权限呢?他说了你这个用户拥有的角色,那比方说呀,咱们来举个例子。现在我们有一个项目经理,那么项目经理是一个角色,那么他可以做哪些功能,具有哪些权限呢?比方说他可以管理。啊,他可以管理我们的项目,然后呢,可以招聘啊,招聘我们的员工啊,比方说我们项目缺人了,他可以去招聘去好接下来我们再来,我们叫做什么呢?我们叫做PG,叫mer,就是我们的程序员,那程序员呢,他要在项目当中,它来开发我们的程序。
03:15
啊,要完成我们的任务,开发程序,然后呢,它还可以测试我们的功能,诶还有这样的能力,好,接下来是我们的admin admin呢是我们系统管理员,那么它的主要工作内容呢,就是用来干嘛呀,来配置系统参数啊,配置我们系统参数,诶好了。行,那我就把几个角色和我们的权限我们写好了,写好了以后,假设我是张三呢?那我是张三的话,现在我是什么角色呢?比方说你又是一个项目经理,但你又是系统管理员,就意味着你的一个用户会有多个角色,那么你又是PM,你又是din,那我就问问你了,那这个张三他的权限是什么?
04:07
它的权限是不是我们的PM对应的权限,再加上我的in对应的权限,所以它是一个合集,这个合集呢,是把PM的权限跟我们admin的权限合在一块。就是这个意思,所以我们最终张三拥有的权限就是这三个啊,你把这个要考虑清楚了啊,好,那么这个咱们就说到这儿,接着往下。下面是RBAC1,它是基于RBAC0的模型,可是它在角色的上面增加了分层,也就意味着角色它形成了上下级的关系。一个上级会有多个下级,诶,这是我们上下级的关系,只不过他是在角色的这个位置给它分开了,那就意味着一个上级的角色可能会有多个下级的角色,举个例子,我们的项目经理,他下面就会有多个程序员来开发我们的项目,所以这就是我们的角色的上下级关系啊,所以啊,我们这里呢,它有点复杂了,那比我们之前要多一些东西了啊,接下来是RBCR。
05:27
2BAC2呢,它也是基于RBAC0的基础上进行了扩展,它对角色进行了访问的控制,那么也就意味着呀,他在我们角色上面进行了一些约束,那什么约束呢?举个例子,我们有一个叫互斥角色,就意味着一个用户他不能授予互斥关系的角色。不能够同时授予会计和出纳的角色。一个用户啊,你不能又是出纳,你又是会计,这是绝对不允许的,为什么?因为会计管账。
06:05
出纳管钱,如果一个人他又是会计,又是出纳,这就容易造成贪污,所以啊,我们是不允许出现的,你又管账,你又管钱,那账你随便写,那钱不就能贪污了吗?啊,所以这个是不允许的啊。还有一个就是基数约束,他说一个用户拥有的角色是有限的啊,一个角色拥有的许可权限是有限的,什么意思?就是这样一个人的能力啊,你再强,你也不可能什么事你都全做了,这是不行的,你只做其中的一部分,你项目经理你的能力再强,那程序代码都是你一个人开发的吗?那不可能,你管理好项目就可以了啊,所以这有个叫基数的约束,还有一个叫先决条件约束,用户想要得到高级的权利,必须先拥有低级的权利。
07:01
你到了公司以后,难道你直接就当项目的什么经理了吗?不是,因为你首先要去什么开发程序来体现你的价值,发现你的能力非常的强,然后提升你的职位。提升之后,你再慢慢发展成为项目经理,然后呢,技术总监,但是技术呢,总经理或者说呢,当CEO慢慢的发展,你绝对不可能你直接就当CEO了,不可能,除非你是富二代。对吧啊,我我家有钱,我自己开个公司,我当CEO怎么了?我当董事长怎么了?这当然没问题了,对吧?但是如果你没有这个能力,你就得从底层做起,慢慢来发展啊,这就是我们所谓的叫做先决条件约束啊,这是我们r bacr明显比之前的级别难了一些,然后我们下面还有一个叫RBAC3,它表述的是最全面的权限管理,它是在RBAC0的基础之上,将RBAC1和RBAC2进行了整合,最全面,它也最复杂,它的东西非常的多啊。
08:13
好了,这个级别我们就说到这儿,他说了,任何系统当中都会涉及到权限管理的模块,无论复杂简单,我们都可以采用RBAC模型为基础进行灵活运用,来解决我们的权限问题。我们要做的不就是权限吗?RBAC能解决我们的问题,那么我们后续的权限就采用RBAC权限模型。
我来说两句