专栏首页后端开发随笔细说shiro之二:组件架构

细说shiro之二:组件架构

官网:https://shiro.apache.org/

Shiro主要组件包括:Subject,SecurityManager,Authenticator,Authorizer,SessionManager,CacheManager,Cryptography,Realms。

1. Subject Subject表示与系统交互的对象,可以是登录系统的操作用户,也可能是另外一个软件系统。 Subject类图:

2. SecurityManager SecurityManager是Shiro架构最核心的组件。实际上,SecurityManager就是Shiro框架的控制器,协调其他组件一起完成认证和授权,如下图所示:

SecurityManager类图:

3. Authenticator Authenticator用于认证,协调一个或者多个Realm,从Realm指定的数据源取得数据之后进行执行具体的认证。 见org.apache.shiro.authc.pam.ModularRealmAuthenticator源码:

Authenticator类图:

4. Authorizer Authorizer用户访问控制授权,决定用户是否拥有执行指定操作的权限。 见org.apache.shiro.authz.ModularRealmAuthorizer源码:

Authorizer类图:

5. SessionManager Shiro与生俱来就支持会话管理,这在安全类框架中都是独一无二的功能。即便不存在web容器环境,shiro都可以使用自己的会话管理机制,提供相同的会话API。 SessionManager类图:

6. CacheManager 缓存组件,用于缓存认证信息等。 CacheManager类图:

7. Cryptography Shiro提供了一个加解密的命令行工具jar包,需要单独下载使用。 详见:https://shiro.apache.org/download.html

8. Realms Realm定义了访问数据的方式,用来连接不同的数据源,如:LDAP,关系数据库,配置文件等等。 Realm类图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • eclipse控制台中文乱码解决方法

    2.General > Workspace > Text file encoding.

    2Simple
  • Spring Boot程序正确停止的姿势

    基于管理端口方式实现进程关闭实际上是模块spring-boot-actuator提供的功能。

    2Simple
  • tomcat部署应用时设置context path为空的上下文路径问题

    在<Context>配置中包含如下信息: 1. 配置docBase值为:docBase="app"或者docBase="app.war"; 2. path为空,...

    2Simple
  • tomcat开机启动和服务

    说明: 这里的启动脚本可以把它分为3个部分,第一部分是申明启动脚本和注释,第二部分是定义路径的变量,第三部分是一个case...in条件选择结构。

    用户1499526
  • 使用python来实现报表自动化

    安装xlwt :在终端中输入pip install xlwt或者easy_install xlwt

    数据森麟
  • 数据解读 | 结婚率走低这口锅,年轻人不背

    这是最容易吸引眼球的做法,长辈看完可以感慨现在的年轻人怎么这么不懂事,然后更名正言顺地催婚逼婚。

    CDA数据分析师
  • Java,bit比特,byte字节,char字符,short,int,long,float,double,string,字母,汉字/编码等

    参考网址的话,直接上Oracle的官方文档就好: https://docs.oracle.com/javase/tutorial/java/nutsandbo...

    Fisherman渔夫
  • Java ---基本类型(1)

    Java是强数据类型,在声明的时候必须注明所使用的数据类型是什么,下面,我们来了解一下

    haoming1100
  • 纯代码屏蔽WordPress后台无用项让你的后台更加简洁

    根据自己的需要,将下面代码添加到当前主题functions.php或functions-diy.php文件中

    沈唁
  • Android 8.0 Oreo 之推送通知的变化 | 中文教学视频

    Android 开发者

扫码关注云+社区

领取腾讯云代金券