| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 尚筹网 —— 4、[知识] RBAC 权限控制模型 和 Ajax请求 -> 正文阅读 |
|
[JavaScript知识库]尚筹网 —— 4、[知识] RBAC 权限控制模型 和 Ajax请求 |
目录 1、简介1.1、为什么要进行权限控制?如果没有权限控制,系统的功能完全不设防,全部暴露在所有用户面前。用户登录 以后可以使用系统中的所有功能。这是实际运行中不能接受的。 所以权限控制系统的目标就是管理用户行为,保护系统功能。 1.2、什么是权限控制“权限”=“权力”+“限制” 1.3、如何进行权限控制1.3.1、定义资源资源就是系统中需要保护起来的功能。具体形式很多:URL 地址、handler 方法、service 方法、页面元素等等都可以定义为资源使用权限控制系统保护起来。 1.3.2、创建权限一个功能复杂的项目会包含很多具体资源,成千上万都有可能。这么多资源逐个进行操作太麻烦了。为了简化操作,可以将相关的几个资源封装到一起,打包成 一个“权限”同时分配给有需要的人。 1.3.3、创建角色对于一个庞大系统来说,一方面需要保护的资源非常多,另一方面操作系统的人也非常多。把资源打包为权限是对操作的简化,同样把用户划分为不同角色也是对操作的简化。否则直接针对一个个用户进行管理就会很繁琐。 所以角色就是用户的分组、分类。先给角色分配权限,然后再把角色分配给用户,用户以这个角色的身份操作系统就享有角色对应的权限了。? 1.3.4、管理用户系统中的用户其实是人操作系统时用来登录系统的账号、密码。 1.3.5、建立关联关系权限→资源:单向多对多
角色→权限:单向多对多
用户→角色:双向多对多
2、RBAC 权限模型2.1、概念鉴于权限控制的核心是用户通过角色与权限进行关联,所以前面描述的权限控制系统可以提炼为一个模型:RBAC(Role-Based Access Control,基于角色的访问控制)。? 在 RBAC 模型中,一个用户可以对应多个角色,一个角色拥有多个权限,权限具体 定义用户可以做哪些事情。 2.2、RBAC0 ~ RBAC32.2.1、RBAC0最基本的 RBAC 模型,RBAC 模型的核心部分,后面三种升级版 RBAC 模型也都是建立在 RBAC0 的基础上。 2.2.2、RBAC1在 RBAC0 的基础上增加了角色之间的继承关系。角色 A 继承角色 B 之后将具备 B 的权限再增加自己独有的其他权限。比如:付费会员角色继承普通会员角色, 那么付费会员除了普通会员的权限外还具备浏览付费内容的权限。 2.2.3、RBAC2在 RBAC0 的基础上进一步增加了角色责任分离关系。责任分离关系包含静态责任分离和动态责任分离两部分。 静态责任分离:给用户分配角色时生效
2.2.4、RBAC3RBAC3 是在 RBAC0 的基础上同时添加 RBAC2 和 RBAC3 的约束,最全面、最复杂。 2.3、基本 RBAC 模型2.4、扩展 RBAC 模型3、Ajax 请求3.1、异步的工作方式① 为按钮绑定以下的代码
② 在浏览器打开该页面并点击按钮,控制台打印如下 ③ 原因:success函数是接收到服务器响应端响应后执行(线程2), $.ajax() 之后的代码在 $.ajax() 执行完成后执行,但不等待其内部的success()函数 ④ 验证: 将代码改为以下代码
再次尝试,输出如下: 3.2、同步的工作方式所有操作在同一个线程按顺序完成? ① 给按钮绑定以下代码
② 打开页面并点击按钮,打印如下 ? |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 22:42:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |