• 细说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类图:

  • 相关阅读:
    Linux 编译kernel有关Kconfig文件详解
    STM32之DMA实例
    容器技术与docker
    老男孩Python全栈学习 S9 日常作业 010
    Centos 7 最小化Fastdfs安装部署
    老男孩Python全栈学习 S9 日常作业 009
    老男孩Python全栈学习 S9 日常作业 008
    service
    Spinner的用法
    控制led灯并显示自己的数值
  • 原文地址:https://www.cnblogs.com/dousnl/p/9629047.html
Copyright © 2020-2023  润新知