001 shiro的架构

Posted trekxu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了001 shiro的架构相关的知识,希望对你有一定的参考价值。

一 .概述

shiro是一个权限框架,其核心就是认证授权.

我们使用shiro的一个根本性的原因就是shiro的扩展是十分容易的.

这也决定我们的学习的重点是如何进行shiro的扩展.

其实.单纯的学习shiro根本没有意思,在现实的情况下我们总会扩展功能,这就决定我们学习shiro就需要有一个

整体的认知.

技术分享图片

上图就是shiro的核心架构:我们可以看到核心的功能就是:

认证,授权,session管理,加密.

附属的功能:web支持,缓存支持,并发支持等.


 

认证 : 

我们可以简单的理解为登录.登录就需要账号和密码,广泛的讲就是需要一个主体信息,一个认证的凭证.

授权 :

在用户认证成功之后,系统就会知道用户所有的权限,这就是授权的功能.


 

三 .shiro的组件架构

技术分享图片

从上图我们可以知道shiro的所有组件都被封装在SecurityManager之中,我们可以重写任何一个组件实现自己的功能.

我们使用Subject{代表当前用户}与这些组件进行交互,实现授权,认证,缓存等功能.

shiro通过Realm获取数据源,也就说我们以后需要重写Realm来完成数据的供给.


 

 

总结 :

[1]shiro的核心:认证和授权.

[2]我们通过Subject与SecurityManager交互,实现各种功能.

[3]SecurityManager封装了很多组件,如加密器,Session管理器,认证器,授权器等,我们可以重写这些组件实现自己的业务逻辑.

[4]shiro的一切数据来源都来自Realm,我们通过重写Realm给shiro提供数据.[账号,密码信息,权限信息等].

总的来说,我们学习shiro有两个注意点.

[1]了解shiro的中的组件

[2]重写组件实现自己的业务功能.

 

以上是关于001 shiro的架构的主要内容,如果未能解决你的问题,请参考以下文章

Shiro 架构

Apache Shiro 使用手册Shiro架构介绍

Apache Shiro 使用手册Shiro架构介绍

细说shiro之二:组件架构

细说shiro之组件架构

杂项-Java:Shiro(Java安全架构)