Shiro简介+核心概念

 2023-09-06 阅读 12 评论 0

摘要:image.png 看博主系列 开涛的博客以下是学习笔记: image.png Authentication:身份认证,验证用户是不是已经拥有相应的身份; Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限:也就是判断用户能不能做这个事情
5317394-bf408e8a8461e4c8.png
image.png

看博主系列

  • 开涛的博客

以下是学习笔记:

5317394-9d91f7f1df09fdf1.png
image.png

Authentication:身份认证,验证用户是不是已经拥有相应的身份;
Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限:也就是判断用户能不能做这个事情;
Session Manager:会话管理,即用户登录一次就是一次会话,在没有退出之前,他所有会话的信息都保存会话中;
Cryptography:加密,保护数据的安全性;
Web Support:Web支持,可以很容易集成到web环境;
Concurrency;shiro支持多线程应用的并发验证,即在一个线程中开启另一个线程,能把去权限自动传播过去;
Testing: 提供测试支持;
Run As: 允许一个用户假装另一个用户的身份访问;
Remember Me: 记住我,即一次登录之后,下次登陆再来的话不用在登陆;

shiro不会去维护用户,维护权限;这些需要我们自己去设计/提供;然后通过相应的接口注入给shiro

5317394-beaab3355b09bc18.png
image.png

直接与代码交互的对象是Subject,也就是说Shiro对外API的核心是Subject
Subject: 主体,代表当前“用户”,所有的Subject都绑定到SecurityManager,都委托给SecurityManager, SUbject相当于门面,而SecurityManager才是实际的执行者;
SecurityManager:我是安全管理器,所有有安全相关的操作,都会交给我来处理,我管理着所有的Subject,我是核心,我负责与其他组件进行交互,你也可以你把我比作springmvc里面的前端控制器,
Realm: 我叫域,Shiro要从我这里获取安全数据(用户,角色,权限),也就是说SecurityManager要验证身份,需要从我这里获取相应用户的身份,也需要从我这里获取权限,可以把我 看作安全数据源;

从上面也可以看出,Shiro不提供维护用户和权限,而是用过Realm让开发人员自己注入;

5317394-cf95d95948094376.png
image.png

Subject: 主体
SecurityManager:心脏
Authentication:认证器
Authorizer: 授权器
Realm:可以有一个或者多个,安全的实体数据源
SessionManager: Shiro并不仅仅可以用在Web环境,也可以用在如普通的JavaSE环境、EJB等环境
SessionDao:
CacheManager:缓存控制器 ,放到 缓存中可以提高访问性能;
Cryptography: 密码模块;

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/10240.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息