为了账号安全,请及时绑定邮箱和手机立即绑定

Shiro 架构,看这篇就够了

标签:
架构 安全

Shiro 是一个简洁,易用的安全框架。
Shiro 架构有三个基本的概念: Subject, SecurityManager and Realms。

High Level 架构

High-Level架构

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, 授权 ,访问控制,表示一个用户可以做什么操作,不可以做什么。

所以我们可以看到,鉴权的过程是:
图片描述

而授权的过程是:
图片描述

点击查看更多内容
4人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消