Shiro<简介+核心概念>

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: 密码模块;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值