Shiro----shiro的架构原理

1.shiro的概述

Apache Shiro是一个强大的并且简单使用的java权限框架.主要应用认证(Authentication),授权(Authorization),cryptography(加密),和Session Manager.Shiro具有简单易懂的API,使用Shiro可以快速并且简单的应用到任何应用中,无论是从最小的移动app到最大的企业级web应用都可以使用.

2.核心功能

在Shiro官网首页上占用了很大的篇幅说明了Shiro的核心功能。
Authentication 认证。如用户的登录。
Authorization 授权。用户是否有权限访问指定URL等。
Cryptography 密码学。如密码的加密。
Session Management Session 管理。
Web Integration Web集成。Shiro不依赖于容器。

3.Shiro 架构原理

1)Subject

主体。每个用户登录成功后都会对应一个Subject对象,所有用户信息都存放在Subject中。可以理解:Subject就是Shiro提供的用户实体类

2)Security Manager

Shiro最大的容器,此容器中包含了Shiro的绝大多数功能。在非Spring Boot项目中,获取Security Manager 是编写代码的第一步。而在Spring Boot中已经帮助我们自动化配置了。

3)Authenticator

认证器。执行认证过程调用的组件。里面包含了认证策略。

4)Authorize

授权器。执行授权时调用的组件。

5)Session Manager

Shiro被Web集成后,HttpSession对象会由Shiro的Session Manager进行管理。

6)Cache Manager

缓存管理。Shiro执行很多第三方缓存技术。例如:EHCache等。

7)Session DAO

操作Session内容的组件。

8)Realms

Shiro框架实现权限控制不依赖于数据库,通过内置数据也可以实现权限控制。但是目前绝大多数应用的数据都存储在数据库中,所以Shiro提供了Realms组件,此组件的作用就是访问数据库。Shiro内置的访问数据库的代码,通过简单配置就可以访问数据库,也可以自定义Realms实现访问数据库逻辑(绝大多数都这么做)
9)图片解析
Shiro----shiro的架构原理