- 一、Shiro 介绍
- 二、主要功能
一、Shiro 介绍
Apache Shiro 是一个强大且易用的 Java 安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
二、主要功能三个核心组件:Subject、SecurityManager 和 Realms
Subject
即当前操作用户。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户 (Daemon Account) 或其他类似事物。它仅仅意味着当前跟软件交互的东西 Subject 代表了当前用户的安全操作,SecurityManager 则管理所有用户的安全操作。
SecurityManager
它是 Shiro 框架的核心,典型的 Facade模式,Shiro 通过 SecurityManager 来管理内部组件实例,并通过它来提供安全管理的各种服务。
Realm
Realm 充当了 Shiro 与应用安全数据间的桥梁或者连接器。也就是说,当对用户执行认证(登录) 和 授权(访问控制) 验证时,Shiro 会从应用配置的 Realm 中查找用户及其权限信息。
从这个意义上讲,Realm 实质上是一个安全相关的DAO:它封装了数据源的连接细节,并在需要时将相关数据提供给 Shiro。当配置 Shiro 时,你必须至少指定一个 Realm,用于认证和 (或) 授权。配置多个 Realm 是可以的,但是至少需要一个。
Shiro内置了可以连接大量安全数据源 (又名目录) 的 Realm,如 LDAP、关系数据库(JDBC) 、类似 INI 的文本配置资源以及属性文件等。如果缺省的 Realm 不能满足需求,你还可以插入代表自定义数据源的自己的 Realm 实现。



