• 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个对象关系如下:

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

  • 相关阅读:
    oracel与mysql 查询从创建时间到更新时间的3天内的数据
    微信创建菜单
    利用XStream实现实体类与xml的转换
    play freamwork 框架中 调用线程保存数据
    play freamwork 框架中 设置文件大小
    将javabean转为map类型,然后返回一个map类型的值
    Base64的加密,解密
    MD5加密
    实体类与CDATA类型的xml的转换的工具类
    解决oracle数据库中 ORA-01843: 无效的月份问题
  • 原文地址:https://www.cnblogs.com/insaneXs/p/10999384.html
Copyright © 2020-2023  润新知