Shiro 架构,看这篇就够了

本文深入解析了Shiro安全框架的核心概念,包括Subject、SecurityManager和Realms,阐述了它们在安全认证和授权过程中的作用。介绍了Authenticator和Authorizer的职责,以及AuthenticationStrategy在多Realm情况下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  Shiro是一个简洁,易用的安全框架。

  Shiro 架构有三个基本的概念: Subject, SecurityManager and Realms。

  

 

  Subject,

  实际就是我们通常所指的用户,但是,为什么不用User 呢, 这是因为User,我们通常理解为实际的用户, 而用Subject则表示Shiro面向的可以是一个实际用户,也可能是第三方的服务,系统,或者Job等。

  每个Subject实例都会绑定对应的SecurityManager。

  SecurityManager

  是整个Shiro的核心。典型的Facade模式,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。

  Realms

  Realms是一个连接Shiro和应用程序安全数据之间的桥梁。当进行鉴权和授权的时候,Shiro会查询一个或者多个Realms。Shiro提供一些默认的Realm,例如LDAP, JDBC和INI文件中。

  

 

  1. Authenticator, 鉴权, 登录的时候检查是否能登录

  Authentication Strategy, 对于多个Realm的情况,需要一个策略来决定用户是否可以登录。例如,一个Realm能通过,但是另一个Realm鉴权失败,用户可否登录?

  2. Authorizer, 授权 ,访问控制,表示一个用户可以做什么操作,不可以做什么。

  所以我们可以看到,鉴权的过程是:

  

 

  而授权的过程是:

  

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值