【Shiro】一、Apache Shiro简介

一、Apache Shiro简介

1、简介

一个安全性框架

特点:功能丰富、使用简单、运行独立


核心功能:

Authentication(认证):你是谁?

Authorization(授权):谁能干什么?

Session Management(Session管理):基于user、普通Java环境/Web环境

Cryprography(加密):加密算法

辅助功能:

Web Support:提供面向Web系统API

Caching:确保安全性操作快速有效

Concurrency:支持多线程并发验证

Testing:支持单元测试/集成测试

Run As:模拟角色

Remember Me:跨Session,如购物车

2、架构

整体架构

Subject:当前用户的视图;包括实体/逻辑用户

SecurityManager:核心;协调各个安全组件的门面

Realms:应用和Shiro之间安全性数据的连接器;安全性DAO

应用开发过程

应用代码通过Subject进行认证和授权,而Subject又委托给SecurityManager

应用代码往SecurityManager注入Realm,确保其能得到合法的用户及其权限

Shiro不提供维护用户/权限,而是通过Realm让开发人员自己注入

详细架构

Subject:主体对象,任何可以与应用交互的“用户”

SecurityManager:系统交互都通过SecurityManager进行统一控制

Authenticator:认证器,提供扩展点供自定义实现

Authorizer:授权器(访问控制器),决定主体对操作是否有权限

SessionManager:Session交互的抽象,支持不同环境下的分布式交互

SessionDao:Session数据访问对象

Cache:缓存控制器,管理如用户、角色、权限等的缓存

Cryptography:加密/解密组件

Realms:安全实体数据源,一个或多个;也可以自定义实现

4、SecurityManager

内部协调性组件:线程安全;实例化消耗资源,推荐使用单例、全局;根对象,Shiro对象导航

使用SecurityUtils工具类获取SecurityManager

原文地址:https://www.cnblogs.com/LiveYourLife/p/8675867.html