http://fightplane.iteye.com/blog/1278464

1. 概念说明

A 系统级权限从角色的角度出发,不特定于任何实际的资源的权限。比如“用户是否可以修改标题”这个权限,不针对于任何特定的标题。权限赋予给某个特定的角色。采用RBAC模型实现

B 对象级权限从对象实例的角度出发。比如针对于某个特定的标题,编辑在这个标题上的权限。采用ACL模型实现。

那么判断用户是否可以修改某条的标题的判断顺序如下:
   1) 用户所属的角色是否拥有“修改标题”的权限
   2) 用户或者用户组是否在某条标题的的ACL列表当中

2. RBAC权限部分的表结构说明

1)系统权限(Permission)

系统权限列表

名称

定义

说明

id

bigint

主键,系统权限id

name

varchar

名称

2) 角色(Role)

角色表

名称

定义

说明

id

bigint

主键,角色id

name

varchar

名称

3) 授权(authorities)

给某个角色授予多项系统级权限

名称

定义

说明

id

bigint

主键,id

roleid

bigint

角色id

permissionid

bigint

权限id

4) 用户组成员(memeberships)

用户组以及用户组成员

名称

定义

说明

id

bigint

主键,用户id

groupid

bigint

用户组id

userid

bigint 用户id
roleid

bigint

角色id

3. RBAC权限部分的关系说明

用户和角色:用户和角色是多对多的关系。但是在授予某个用户某个角色的时候,是以用户组为单位的。比如用户A在用户组1中可能是
“管理员”的角色,但是在用户组2中就可能是“普通用户”的角色。这种划分在业务系统中比较通用。当然,具体到一个用户,使用哪个用户组的角色来做判断,
是由业务来决定的。

角色和系统级权限:是一个一对多的关系。通过授权来完成。当然在授权之前,需要把需要使用的系统及权限注射到数据库的permission表。

混合了RBAC和ACL的权限系统(二) -- 基于RBAC的系统权限的更多相关文章

  1. Shiro入门之二 --------基于注解方式的权限控制与Ehcache缓存

    一  基于注解方式的权限控制 首先, 在spring配置文件applicationContext.xml中配置自动代理和切面 <!-- 8配置自动代理 -->    <bean cl ...

  2. 混合了RBAC和ACL的权限系统(一) -- 用户组织结构

    最近的工作是一个基础设计,打造一个基于RBAC和ACL的权限基础组件. 这个基础组件的特点是:同时混合了RBAC和ACL的认证方式,也就是说同时提供系统级别的授权(RBAC)和对象级别的授权(ACL) ...

  3. 尝试asp.net mvc 基于controller action 方式权限控制方案可行性

    微软在推出mvc框架不久,短短几年里,版本更新之快,真是大快人心,微软在这种优秀的框架上做了大量的精力投入,是值得赞同的,毕竟程序员驾驭在这种框架上,能够强力的精化代码,代码层次也更加优雅,扩展较为方 ...

  4. 尝试asp.net mvc 基于controller action 方式权限控制方案可行性(转载)

    微软在推出mvc框架不久,短短几年里,版本更新之快,真是大快人心,微软在这种优秀的框架上做了大量的精力投入,是值得赞同的,毕竟程序员驾驭在这种框架上,能够强力的精化代码,代码层次也更加优雅,扩展较为方 ...

  5. 基于RBAC模型的权限设计:如何设计系统权限体系?

    一.什么是RABC RBAC(基于角色的权限控制)模型的核心是在用户和权限之间引入了角色的概念.取消了用户和权限的直接关联,改为通过用户关联角色.角色关联权限的方法来间接地赋予用户权限(如下图),从而 ...

  6. SpringCloud微服务实战——搭建企业级开发框架(二十一):基于RBAC模型的系统权限设计

    RBAC(基于角色的权限控制)模型的核心是在用户和权限之间引入了角色的概念.取消了用户和权限的直接关联,改为通过用户关联角色.角色关联权限的方法来间接地赋予用户权限,从而达到用户和权限解耦的目的. R ...

  7. 五大权限:UGO权限、SetUID SetGID Sticky、ACL权限、chattr(文件系统级别的权限)、SELINUX

    五大权限:UGO权限.SetUID SetGID Sticky.ACL权限.chattr(文件系统级别的权限).SELINUX   ======================文件属性以及ugo权限= ...

  8. Linux文件权限;ACL;Setuid、Setgid、Stick bit特殊权限;sudo提权

    相关学习资料 http://blog.sina.com.cn/s/blog_4e2e6d6a0100g47o.html http://blog.csdn.net/aegoose/article/det ...

  9. 基于RBAC模型的通用企业权限管理系统

    1. 为什么我们需要基于RBAC模型的通用企业权限管理系统 管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全威胁.构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的.权限 ...

随机推荐

  1. bzoj4889

    http://www.lydsy.com/JudgeOnline/problem.php?id=4889 人傻常数大 bzoj上跑不过 洛谷上能过两到三个点 我写的是树套树啊 怎么跑的比分块还慢 每次 ...

  2. 图练习-BFS-从起点到目标点的最短步数

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2830 简单bfs #include <s ...

  3. [Apple开发者帐户帮助]七、注册设备(3)禁用或启用设备

    您可以禁用和启用设备,但不能从开发者帐户中删除它.您可以禁用不再用于开发或测试的设备.但是,这样做会使包含设备的配置文件无效,并且不会增加当年设备的总数. 所需角色:帐户持有人或管理员. 在“ 证书” ...

  4. Ubuntu中安装部署Intel CS WebRTC

    1环境要求 组件 版本要求 OS CentOS* 7.4, Ubuntu 14.04/16.04 LTS Node 8.11.* (推荐8.11.1) MongoDB 2.4.9 Boost 1.65 ...

  5. 【知识总结】多项式全家桶(二)(ln和exp)

    上一篇:[知识总结]多项式全家桶(一)(NTT.加减乘除和求逆) 一.对数函数\(\ln(A)\) 求一个多项式\(B(x)\),满足\(B(x)=\ln(A(x))\). 这里需要一些最基本的微积分 ...

  6. Hadoop Hive概念学习系列之hive的脚本执行(二十)

    相当一部分人,容易忽略hive脚本,其实,这在生产环境里,是非常重要的! $ hive -e "show tables" $ hive -e "show tables & ...

  7. Bootstrap3模态框Modal垂直居中样式

    1,Bootstrap 模态框插件Bootbox垂直居中样式: <!DOCTYPE html> <html lang="en"> <head> ...

  8. MySQL实现当前数据表的所有时间都增加或减少指定的时间间隔

    DATE_ADD() 函数向日期添加指定的时间间隔. 当前表所有数据都往后增加一天时间: UPDATE ACT_BlockNum SET CreateTime = DATE_ADD(CreateTim ...

  9. CSS——盒子居中显示

    嵌套中个的子盒子使用了绝对定位,父盒子使用了相对定位.那么子盒子如何居中显示: 1.距离左偏离50% 2.margin-right子盒子宽度的一半 <!DOCTYPE html> < ...

  10. HTTP常见状态码(404、400、500)等错误

    一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 ...