六 RBAC 模型、AJAX

六 RBAC 模型、AJAX

分支: git checkout -b 6.0.0_rbac_ajax

1. RBAC

1.1 RBAC 简介

1.1.1 Why? 为什么要进行权限控制
  • 如果没有权限控制, 系统的功能完全不设防, 全部暴露在所有用户面前, 用户登录以后可以使用系统中所有功能, 这是实际运行中不能接收的
  • 所以权限控制系统的目标就是管理一航局行为, 保护系统功能
1.1.2 Waht? 什么是权限控制
  • “权限” = “权利” + “限制”
1.1.3 How? 如何进行权限控制
1.1.3.1 定义资源
  • 资源就是系统中需要保护起来的功能, 具体形式很多: URL 地址、handler 方法、service 方法, 页面元素等等都可以定义为资源使用权限控制保护起来
1.1.3.2 创建权限
  • 一个功能复杂的项目会包含很多具体资源, 成千上万都有可能, 这么多资源逐个进行操作太麻烦了, 为了简化操作, 可以将相关的几个资源封装到一起, 打包成一个 "权限“同时分配给有需要的人

img

img

1.1.3.3 创建角色
  • 对于一个庞大的系统来说, 一方面需要保护的资源非常多, 另一方面操作系统的人也非常多, 把资源打包为权限是对操作的简化, 同样把用户划分为不同角色也是对操作的简化, 否则直接对一个个用户进行管理就会很繁琐
  • 所以角色就是用户的分组、父类。先把角色分配权限, 然后再把角色分配给用户, 用户以这个角色的身份操作系统就享有角色对应的权限了
1.1.3.4 管理用户
  • 系统中的用户其实是人操作系统时来登录系统的账户、密码
1.1.3.5 建立关联关系
  • 权限 -> 资源: 单向多对多
  • 角色 -> 权限: 单向多对多
  • 用户 -> 角色: 双向多对多

1.2. RBAC 权限模型

1.2.1 概念
  • 鉴定权限控制的核心是用户通过角色权限进行关联, 所以前面描述的权限控制系统可以提炼为一个模型: RBAC(Role-Base Access Control, 基于角色的访问控制)
  • 在 RBAC 模型中, 一个用户可以对应多个角色, 一个角色拥有多个权限, 权限具体定义用户可以做哪些事情
1.2.2 RBAC0~RBAC3

img

1.2.2.1 RBAC0
  • 最基本的 RBAC 模型, RBAC 模型的核心部分, 后面是那种升级版 RBAC 模型也都是建立在 RBAC 的基础上
1.2.2.2 RBAC1
  • 在 RBAC0 的基础上增加了角色之间的继承关系, 角色 A 继承角色 B 之后将具备 B 的权限在增加自己独有的其他权限, 比如: 付费会员角色基础普通会员角色, 那么付费会员除了普通会员的权限外还具备浏览付费内容的其他权限
1.2.2.3 RBAC2
  • 在 RBAC0 的基础上进一步增加了角色责任分离关系, 责任分离关系包含静态责任分离和动态责任分离两部分

    • 静态责任分离: 给用户分配角色是生效
      • 互斥角色: 权限上和互相制约的两个或多个角色就是互斥角色, 用户只能被分配到一组互斥角色中的一个角色。
        • 例如: 一个用户不能既有会计师角色又有审计师角色

img

      • 基数约束:
        • 一个角色对应的访问权限数量应该是受限的
        • 一个角色中用户的数量应该是受限的
        • 一个用户拥有的角色数量应该是受限的
      • 先决条件角色: 用户想拥有 A 角色就必须拥有 B 角色, 从而保证用户拥有 X 权限的前提是拥有 Y 权限
        • 例如: “金牌会员” 角色只能授予拥有"银牌会员"角色的用户, 不能直接授予普通用户

img

    • 动态责任分离: 用户登录系统时生效
      • 一个用户身兼数职, 在特定场景下激活特定角色
        • 马云在阿里巴巴内部激活创始人角色
        • 马云在某企业级论坛上激活演讲嘉宾角色
1.2.2.4 RBAC3
  • RBAC3 是在 RABC0 的基础上同时添加 RBAC2 和 RBAC3 的约束.最全面、最复杂
1.2.3 基本 RBAC 模型

img

1.2.4 扩展 RBAC 模型

img

2. AJAX

异步: 多个线程同时并行执行

同步: 同一个线程内部按顺序执行

2.1 Ajax 的异步的工作方式

2.1.1 图解

img

2.1.2 代码
2.1.2.1 test.jsp
<script type="text/javascript">
    $(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值