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

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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注