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

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

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

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

一、给用户授权

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

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

二、给角色授权

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

给人设置角色,在第一个页面中也可以实现,如下图

角色权限管理中也可以为角色添加人,

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

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

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

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

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

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

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

用户始终是授权的主体,片面上说,有了角色,实际上就为很多人同时授权提供了方便,但是不应该因为有了角色,给用户授权就必须要创建一个角色,那样就不太灵活了。

转载于:https://www.cnblogs.com/hnsongbiao/p/5173878.html

权限管理系统如何分别实现对用户和角色的授权相关推荐

  1. Oracle创建用户、角色、授权、建表

    Oracle创建用户.角色.授权.建表 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,crea ...

  2. dba 权限_DBA如何玩转PG用户、角色和权限管理?

    概述 官网:https://www.postgresql.org/docs/11/sql-createuser.html Pg权限分为两部分,一部分是"系统权限"或者数据库用户的属 ...

  3. Oracle新建用户、角色,授权,建表空间

    oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...

  4. oracle 授权访问条空间,oracle创建用户和角色、管理授权以及表空间操作

    show user 显示当前用户 connect username/password@datebasename as sysdba 切换用户和数据库 和用户身份 Oracle登录身份有三种: norm ...

  5. 统一用户权限管理系统 TDog7

    (该系统已停止更新,已发布另外一个平台,演示地址:http://itgap.net) 系统名称:统一用户权限管理系统 简介:本系统为统一的细粒度授权管理和用户统一身份管理及单点认证支撑平台.每个接入的 ...

  6. Java项目:实现权限管理系统(java+SpringBoot+MyBatis+AOP+LayUI+Mysql)

    源码获取:博客首页 "资源" 里下载! springboot+mybatis使用面向切面编程(AOP)实现的权限管理系统. 共五个模块,角色管理,菜单管理,实验室管理,学生管理,管 ...

  7. 通用权限管理系统组件 (GPM - General Permissions Manager) 权限管理以前我们都是自己开发,可是到下一个系统又不适用,又改,加上人员流动大,管理很混乱...

    为什么80%的码农都做不了架构师?>>>    权限管理以前我们都是自己开发,可是到下一个系统又不适用,又改,加上人员流动大,管理很混乱 Ψ吉日嘎拉 采用通用权限管理系统,这些烦恼就 ...

  8. 记录通用权限管理系统组件使用心得体会,写技术博客赢IPad2

    2011年度12月为止, 购买通用权限管理系统组件源码的用户,编写5篇使用通用权限管理系统组件的心得体会,有良好博克文当,图文并茂的,质量好,评价好的奖励一台苹果的IPad2. 设置一等奖一名. 本着 ...

  9. iMatrix平台的权限管理系统是一个基于角色的访问控制系统

    iMatrix平台的权限管理系统(ACS)是一个基于角色的访问控制(Role-Based  Access Control)系统.熟悉RBAC的朋友应该知道,在RBAC中,权限和角色是相关的,用户通过成 ...

最新文章

  1. php 伪静态 page-18.html,PHP 伪静态实现技术原理讲解
  2. 明日微博软件的NABCD分析
  3. 探寻《魔兽争霸3》中最不为人知的按键
  4. go 变量在其中一个函数中赋值 另一个函数_go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包...
  5. 八、linux以模块方式注册设备
  6. 终于弄明白了 Singleton,Transient,Scoped 的作用域是如何实现的
  7. php常用函数字符串操作回顾
  8. 【python】一道LeetCode搞懂递归算法!#131分割回文串 #以及刷LeetCode的一点点小心得 [数据结构与算法基础]
  9. 常见的系统store procedure
  10. Oracle中rownum用法总结
  11. 几种java反编译软件的安装以及使用总结
  12. Acrobat DC安装教程
  13. 计算机毕业设计指导 教师 评语,毕业设计指导教师评语【集锦】
  14. Python实现word的基本操作
  15. 数学149的女学霸,直言想当程序员!女生当程序员到底行不行?
  16. 从 几 个应用入手 了解为什么灵魂绑定代币将为 DeFi 带来大规模采用
  17. 苹果怎么换行打字_2周内将你的打字速度提高3倍的方法
  18. Informatica保障江苏电信规范化ETL开发
  19. .dll、.lib、.a的转换
  20. git命令统计代码量

热门文章

  1. 慧材技术中核普达测量与测绘系统介绍(一)
  2. 基础知识(七)opencv、python、人脸框检测
  3. code block怎样实现图形界面_Python 代码实现验证码识别,很稳
  4. python之穿越火线游戏代码_Python 大作业之五子棋游戏(附代码)
  5. 小红书去水印代码_小红书商家须知!小红书引流靠谱吗?
  6. 大唐波斯将军 机器人_跑到大唐的萨珊波斯遗民
  7. 渗透测试入门16之渗透测试基本知识
  8. 1900-01-01t00:00:00+08:00 java_日期格式转换 java 2016-09-03T00:00:00.000+08:00
  9. Java基础---封装继承静态
  10. 北京热风文化传媒有限公司 公司介绍