• Shiro(一):Shiro介绍及主要流程


    什么是Shiro

    Apache Shiro是一个强大且灵活的开源安全框架,易于使用且好理解,撇开了搭建安全框架时的复杂性。
    Shiro可以帮助我们做以下几件事:

    • 认证使用者的身份
    • 提供用户的访问控制,比如:
      • 决定一个用户是否被授予某个特定的安全角色
      • 决定用户是否允许做某件事
    • 可以在任何环境中使用Session API,不在局限于web或是EJB容器中
    • 可以在认证,访问控制或是session的生命周期的期间中对特定事件产生反应
    • 可以整合多个数据源的用户安全数据到一个统一的用户视图中
    • 支持单点登录
    • 支持'记住我'功能
      等等

    Apache Shiro的特征

    下图展示了Shiro主要的特征:

    Primary Cocnerns(基本关注点):Authentication(认证),Authorization(授权),Session Management(会话管理),Cryptography(加密)。

    • Authentication(认证):经常和登录挂钩,是证明用户说他们是谁的一个工作
    • Authorization(授权):访问控制的过程,即,决定‘谁’可以访问‘什么
    • Session Management(会话管理):管理用户特定的会话,即使在非web或是EJB的应用中
    • Crytography(加密):通过加密算法保证数据的安全,且易于使用

    Supporting Features(辅助特性):

    • Web Support(网络支持):web support API可以帮助在web应用中方便的使用shiro
    • Caching(缓存):保证安全操作使用快速有效
    • Concurrency(并发):支持多线程应用
    • Testing(测试):支持集成单元测试
    • “Run As”(以..运行):可以假定用户为另一个用户
    • “Remeber Me”:记住用户,无需再次登录

    Authentication和Authenticator的主要流程

    • Authentication(认证):
      与认证流程相关的Shiro各对象关系如下:

    以更加清晰的流程图对应上述的步骤:

    • Authenticator(授权): 与授权相关的Shiro个对象关系如下:

    换成流程图对应上述的步骤:

  • 相关阅读:
    Codeforces Round #630 (Div. 2)A~E题解
    2020cug新生赛 An easy problem
    tensorflow.python.framework.errors.NotFoundError: <exception str() failed>错误解决
    将博客搬至CSDN
    2018年北京大学软件工程学科夏令营上机考试
    程序设计题目中的输入输出
    2018北大计算机学科夏令营机试题目
    Pyhton全栈的知识点(5)
    Python全栈的知识点(4)
    Python全栈的知识点(3)
  • 原文地址:https://www.cnblogs.com/insaneXs/p/10999384.html
Copyright © 2020-2023  润新知