您当前的位置:首页 > 计算机 > 服务器 > 万维网络 > 中间件

Apache Shiro 体系架构

时间:12-14来源:作者:点击数:

在最高的概念层次,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 实现来代表自定义的数据源。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐