Shiro知识初探(更新中)
2024-10-08 07:07:55
Shiro 是当下常见的安全框架,主要用于用户验证和授权操作。
RBAC 是当下权限系统的设计基础,同时有两种解释:
一: Role-Based Access Control,基于角色的访问控制
即,你要能够删除产品,那么当前用户就必须拥有产品经理这个角色
二:Resource-Based Access Control,基于资源的访问控制
即,你要能够删除产品,那么当前用户就必须拥有删除产品这样的权限
基于 RBAC概念, 就会存在3 张基础表: 用户,角色,权限, 以及 2 张中间表来建立 用户与角色的多对多关系,角色与权限的多对多关系。 用户与权限之间也是多对多关系,但是是通过 角色间接建立的。
注: 一个用户可以有多种角色,一个角色也可以赋予多个用户。一个角色可以包含多种权限,一种权限也可以赋予多个角色。
在 Shiro 中存在 Realm 这么个概念, 那么 Realm 在 Shiro里到底扮演什么角色呢?
当应用程序向 Shiro 提供了 账号和密码之后, Shiro 就会问 Realm 这个账号密码是否对, 如果对的话,授权其所对应的用户拥有哪些角色,哪些权限。
Realm 得到了 Shiro 给的用户和密码后,去找数据库,查询信息该用户对应的角色和权限。
Realm 就是干这个用的,它才是真正进行用户认证和授权的关键地方。
最新文章
- Chrome调试手机页面
- 遍历所有表,取每个表的MAXID更新到ID控制表
- javascript原型方法
- android studio ndk 调试
- dragloader.js帮助你在页面原生滚动下实现Pull Request操作
- iOS - (TableView中利用系统的 cell 设置 cell.textlabel 位置和大小)
- (转)关于List中FindAll用法的一些简单示例
- POJ 1182 食物链(种类并查集)
- Educational Codeforces Round 5 B
- 征服 Nginx + Tomcat
- Maven学习小结(三 基本概念)
- Spark运行问题备忘一(网络搜集)
- IP地址变动后,https://localhost:1158/em无法访问解决办法
- Minimum Size Subarray Sum 解答
- Canvas 生成base64的PNG图片快照,So Amazing!!!
- LaTeX的图片插入及排版
- 可编辑的EditorGridPanel
- Tupper自我指涉公式生成器
- vuejs-devtools浏览器调试chrome插件
- Kubernetes1.91(K8s)安装部署过程(二)--证书kubeconfig文件创建