<b>关于Java角色访谒掌握(RBAC)</b>[Java编程]
本文“<b>关于Java角色访谒掌握(RBAC)</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
角色拜候掌握(RBAC)引入了Role的概念,目的是为了断绝User(即行动主体,Subject)与Privilege(权限,表示对Resource的一个操作,即Operation+Resource).
Role作为一个用户(User)与权限(Privilege)的代理层,解耦了权限和用户的关系,全部的受权应当赐与Role而不是直接给User或Group.Privilege是权限颗粒,由Operation和Resource构成,表示对Resource的一个Operation.比方,关于新闻的删除操作.Role-Privilege是many-to-many的关系,这就是权限的核心.
基于角色的拜候掌握办法(RBAC)的明显的两大特点是:1.由于角色/权限之间的改变比角色/用户关系之间的改变相对要慢得多,减小了受权管理的复杂性,降低管理开销.2.机动地支持企业的安全战略,并对企业的改变有很大的伸缩性.
RBAC基本概念:
RBAC认为权限受权实际上是Who、What、How的问题.在RBAC模子中,who、what、how构成了拜候权限三元组,也就是“Who对What(Which)举行How的操作”.
Who:权限的拥用者或主体(如Principal、User、Group、Role、Actor等等)
What:权限针对的对象或资源(Resource、Class).
How:具体的权限(Privilege,正向受权与负向受权).
Operator:操作.表明对What的How操作.也就是Privilege+Resource
Role:角色,一定数目的权限的调集.权限分配的单位与载体,目的是断绝User与Privilege的逻辑关系.
Group:用户组,权限分配的单位与载体.权限不考虑分配给特定的用户而给组.组可以包含组(以实现权限的担当),也可以包含用户,组内用户担当组的权限.User与Group是多对多的关系.Group可以层次化,以满意差别层级权限掌握的要求.
RBAC的关注点在于Role和User, Permission的关系.称为User assignment(UA)和Permission assignment(PA).关系的左右两边都是Many-to-Many关系.就是user可以有多个role,role可以包含多个user.
但凡用过RDBMS都知道,n:m 的关系需求一此中间表来保存两个表的关系.这UA和PA就相当于中间表.事实上,整个RBAC都是基于关系模子.
Session在RBAC中是对比隐晦的一个元素.尺度上说:每个Session是一个映射,一个用户到多个role的映射.当一个用户激活他全部角色的一个子集的时刻,成立一个session.每个Session和单个的user关联,并且每个User可以关联到一或多个Session.
在RBAC系统中,User实际上是在扮演角色(Role),可以用Actor来代替User,这个设法来自于Business Modeling With UML一书Actor-Role情势.考虑到多人可以有相同权限,RBAC引入了Group的概念.Group一样也看做是Actor.而User的概念就具象到一个人.
这里的Group和GBAC(Group-Based Access Control)中的Group(组)差别.GBAC多用于操作系统中.此中的Group直接和权限相关联,实际上RBAC也鉴戒了一些GBAC的概念.
Group和User都和组织机构有关,但不是组织机构.二者在概念上是差别的.组织机构是物理存在的公司构造的抽象模子,包含部门,人,职位等等,而权限模子是对抽象概念描写.组织构造普通用Martin fowler的Party或责任情势来建模.
Party情势中的Person和User的关系,是每个Person可以对应到一个User,但大概不是全部的User都有对应的Person.Party中的部门Department或组织Organization,都可以对应到Group.反之Group未必对应一个实际的机构.比方,可以有副经理这个Group,这是多人有相同职责.
引入Group这个概念,除了用来办理多人相同角色问题外,还用以办理组织机构的另一种受权问题:比方,A部门的新闻我但愿全部的A部门的人都能看.有了这样一个A部门对应的Group,便可直接受权给这个Group.
Role作为一个用户(User)与权限(Privilege)的代理层,解耦了权限和用户的关系,全部的受权应当赐与Role而不是直接给User或Group.Privilege是权限颗粒,由Operation和Resource构成,表示对Resource的一个Operation.比方,关于新闻的删除操作.Role-Privilege是many-to-many的关系,这就是权限的核心.
基于角色的拜候掌握办法(RBAC)的明显的两大特点是:1.由于角色/权限之间的改变比角色/用户关系之间的改变相对要慢得多,减小了受权管理的复杂性,降低管理开销.2.机动地支持企业的安全战略,并对企业的改变有很大的伸缩性.
以上是“<b>关于Java角色访谒掌握(RBAC)</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |