Apache Shiro 体系架构

发布于 2021-05-14 18:53:04 字数 741 浏览 1175 评论 0

在最高的概念层次,Shiro 的架构有3个主要的概念:Subject,SecurityManager 和 Realms。

Subject

Subject 实质上是一个当前执行用户的特定的安全“视图”。所有 Subject 实例都被绑定到(且这是必须的)一个 SecurityManager 上。当你与一个 Subject 交互时,那些交互作用转化为与 SecurityManager 交互的特定 subject 的交互作用。

SecurityManager

SecurityManager 是 Shiro 架构的心脏,并作为一种“保护伞”对象来协调内部的安全组件共同构成一个对象图。然而,一旦 SecurityManager 和它的内置对象图已经配置给一个应用程序,那么它单独留下来,且应用程序开发人员几乎使用他们所有的时间来处理 Subject API。

Realms

Realms 担当 Shiro 和你的应用程序的安全数据(保存了用户和密码)之间的“桥梁”或“连接器”。Shiro 可以从多个 Realm 中寻找用户身份或授权数据。

Realm 本质上是一个特定安全的 DAO:它封装了数据源的连接详细信息。当配置 Shiro 时,你必须指定至少一个 Realm 用来进行身份验证和/或授权。SecurityManager 可能配置多个 Realms,但至少有一个是必须的。

Shiro 提供了立即可用的 Realms 来连接一些安全数据源(即目录),如 LDAP、关系数据库(JDBC)、文本配置源,像 INI 及属性文件,以及更多。你可以插入你自己实现的 Realm 实现来代表自定义的数据源。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文