zoukankan      html  css  js  c++  java
  • (一)shiro功能架构分析

    shiro基本功能点如下图所示

    Authentication身份认证/登录;

    Authorization授权;

    Session Manager会话管理;

    Cryptography加密;

    Web SupportWeb支持,可以非常容易的集成到Web环境;

    Caching:缓存;

    Concurrencyshiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去;

    Testing提供测试支持;

    Run As允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;

    Remember Me记住我。

    Shiro不会去维护用户、维护权限;这些需要我们自己去设计/提供;然后通过相应的接口注入给Shiro

     

    shiro架构

    shiro工作流程图

     

     

     

    内部架构图

     

    Subject主体;

    SecurityManager相当于SpringMVC中的DispatcherServlet或者Struts2中的FilterDispatcher;它管理着所有Subject、且负责进行认证和授权、及会话、缓存的管理。

    Authenticator认证器;

    Authrizer授权器,;

    Realm可以有1个或多个Realm,是安全实体数据源;可以是JDBC实现,也可以是LDAP实现,或者内存实现等等;

    SessionManagerShiro自己的Session来管理主体与应用之间交互的数据;

    SessionDAODAO大家都用过,数据访问对象,用于会话的CRUD;同时SessionDao也可以使用Cache进行缓存以提高性能。

    CacheManager缓存控制器,管理如用户、角色、权限等的缓存

    Cryptography密码模块

     

    总结自张开涛的《跟我学shiro》原博客地址:http://jinnianshilongnian.iteye.com/blog/2018936/

  • 相关阅读:
    使用sorted函数对字典元素排序
    PAT (Basic)1004 成绩排名 (Python实现)
    Python中的a+=b和a=a+b之间的区别是什么?
    Shell while循环用法总结
    PAT (Basic)1027 打印沙漏 (Python实现)
    python 基础应用2
    python 基础知识1
    python 基础知识2-数据类型
    python 基础应用1
    PHP提高SESSION响应速度的方法
  • 原文地址:https://www.cnblogs.com/w894819398/p/7326374.html
Copyright © 2011-2022 走看看