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

什么是Shiro

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

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

Apache Shiro的特征

下图展现了Shiro主要的特征:
算法

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

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

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

相关文章
相关标签/搜索