一 Apache Shiro简单介绍
1.1 什么是Shiro
Shiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。
1.2 Shiro 能做什么
- 认证:验证用户的身份。
- 授权:对用户执行访问控制:判断用户是否被允许做某事。
- 管理:在任何环境下使用 Session API,即使没有 Web 或EJB 容器。
- 加密:以更简洁易用的方式使用加密功能,保护或隐藏数据防止被偷窥。
- Realms:聚集一个或多个用户安全数据的数据源。
1.3 Shiro 的 3 个核心组件图
Subject :与系统进行交互的人,或某一个第三方服务。所有 Subject 实例都被绑定到(且这是必须的)一个SecurityManager 上。
SecurityManager:Shiro 架构的心脏,用来协调内部各安全组件,管理内部组件实例,并通过它来提供安全管理的各种服务。当 Shiro 与一个 Subject 进行交互时,
实质上是幕后的 SecurityManager 处理所有繁重的Subject 安全操作,可以将其概念比作为是SpringMVC中的前端控制器。
Realms :当配置 Shiro 时,必须指定至少一个 Realm 用来进行身份验证或授权。Shiro 提供了多种可用的 Realms 来获取安全相关的数据。如关系数据库(JDBC),INI 及属性文件等。
可以定义自己 Realm 实现来代表自定义的数据源。
1.4 Shiro 的主要功能
1.4.1 Shiro认证
认证顺序:
认证过程:
1.4.2 Shiro授权
授权顺序:
时序图:
1.4.3 Shiro权限拦截
详细描述请参考以下链接
相关链接:Apache Shiro权限框架理论介绍 Apache Shiro权限框架理论介绍【附源码】_ZeroOne01_51CTO博客
Shiro 框架基本讲解 shiro 框架基本讲解 - 吴佼奋 - 博客园
Shiro安全框架快速入门 Shiro安全框架【快速入门】就这一篇! - 知乎
Shiro 瞅完就会用 shiro 瞅完就会用(ssm+shiro) - 简书