权限管理系统如何分别实现对用户和角色的受权

目前,大多数权限系统,都是基于RBAC的理念来设计的,关于RBAC,摘抄一下百度百科的解释:html

在RBAC中,权限与角色相关联,用户经过成为适当角色的成员而 获得这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各类工做而创造,用户则依据它的责任和资格来被指派相应的角色,用户能够 很容易地从一个角色被指派到另外一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据须要而从某角色中回收。角色与角色的关系能够创建起 来以囊括更普遍的客观状况。url

http://baike.baidu.com/link?url=vS4hKX1RrOgUUO325gBs_VdhDFCc4d07-6fqvu19bDWnE8Ljy_2ema98BA8LlQBBd-mnFzzix-CaTv1_0avfD_设计

简而言之:具体操做时,在系统中建立一个角色,给角色添加人,给角色授予操做权限,那么这些人就具备了这些操做权限,在应用中判断的时候最终应该是判断某我的是否有某个权限(关于权限的最终判断,可参考这篇文章http://www.cnblogs.com/hnsongbiao/p/5087359.html),htm

1、给用户受权

实际应用中,彻底基于RBAC可能并不知足需求,就好比 Windows 虽然有 管理员组 / 普通用户组 / 来宾组之分,但它的私人文件夹仍是会按用户的权限进行分配,而不会为了某一用户增长一个角色,那么在通用的权限管理系统中如何实现呢,先看下界面blog

给指定的用户授予权限,右边的子系统,表示是给该用户授予这个系统的操做权限,点击上面的用户按钮,弹出受权页面,选中后保存,用户就具备选中的操做权限了,见下图:io

2、给角色受权

角色权限配置是权限系统必备的,主要功能就是建立角色,向角色中添加人(或者给人设置角色),给角色配置操做权限,容器

给人设置角色,在第一个页面中也能够实现,以下图百度

角色权限管理中也能够为角色添加人,配置

上面是为角色添加人或为人设置角色的方法。权限

如今,再看看如何给角色设置操做权限,角色的操做权限也就是角色里的人的操做权限。

 设置及保存用户的操做权限,操做权限多是一个地址,也有多是一个按钮,下图:

在界面上选中操做权限保存,这样角色就具备了对应的操做权限了。

在具体应用中,判断用户操做权限时,应该先获取给用户单独设置的权限,以及用户的角色具备的权限,二者取并集,大部分权限系统只作到按角色的权限判断。

经过这个方式,咱们实现了按人设置权限,及按角色设置权限,知足系统中的一些特殊需求。

大多数状况下,用户(User)、角色(Role)、操做权限(Permission),三者之间的关系,能够把角色看作一个个容器,这个容器里有不少用户,有不少操做权限,用户和操做权限之间是多对多的关系,用户经过角色与操做权限关联起来,某些状况,也要求用户不经过角色,直接与操做权限关联,通用权限管理系统就能够解决这类需求。

用户始终是受权的主体,片面上说,有了角色,实际上就为不少人同时受权提供了方便,可是不该该由于有了角色,给用户受权就必需要建立一个角色,那样就不太灵活了。

相关文章
相关标签/搜索