Shiro介绍及主要流程
Shiro介紹及主要流程
什么是Shiro
Apache Shiro是一個(gè)強(qiáng)大且靈活的開(kāi)源安全框架,易于使用且好理解,撇開(kāi)了搭建安全框架時(shí)的復(fù)雜性。
Shiro可以幫助我們做以下幾件事:
認(rèn)證使用者的身份
提供用戶的訪問(wèn)控制,比如:
決定一個(gè)用戶是否被授予某個(gè)特定的安全角色
決定用戶是否允許做某件事
可以在任何環(huán)境中使用Session API,不在局限于web或是EJB容器中
可以在認(rèn)證,訪問(wèn)控制或是session的生命周期的期間中對(duì)特定事件產(chǎn)生反應(yīng)
可以整合多個(gè)數(shù)據(jù)源的用戶安全數(shù)據(jù)到一個(gè)統(tǒng)一的用戶視圖中
支持單點(diǎn)登錄
支持’記住我’功能
等等
Apache Shiro的特征
下圖展示了Shiro主要的特征:
Primary Cocnerns(基本關(guān)注點(diǎn)):Authentication(認(rèn)證),Authorization(授權(quán)),Session Management(會(huì)話管理),Cryptography(加密)。
Authentication(認(rèn)證):經(jīng)常和登錄掛鉤,是證明用戶說(shuō)他們是誰(shuí)的一個(gè)工作
Authorization(授權(quán)):訪問(wèn)控制的過(guò)程,即,決定‘誰(shuí)’可以訪問(wèn)‘什么
Session Management(會(huì)話管理):管理用戶特定的會(huì)話,即使在非web或是EJB的應(yīng)用中
Crytography(加密):通過(guò)加密算法保證數(shù)據(jù)的安全,且易于使用
Supporting Features(輔助特性):
Web Support(網(wǎng)絡(luò)支持):web support API可以幫助在web應(yīng)用中方便的使用shiro
Caching(緩存):保證安全操作使用快速有效
Concurrency(并發(fā)):支持多線程應(yīng)用
Testing(測(cè)試):支持集成單元測(cè)試
“Run As”(以…運(yùn)行):可以假定用戶為另一個(gè)用戶
“Remeber Me”:記住用戶,無(wú)需再次登錄
Authentication和Authenticator的主要流程
Authentication(認(rèn)證):
與認(rèn)證流程相關(guān)的Shiro各對(duì)象關(guān)系如下:
以更加清晰的流程圖對(duì)應(yīng)上述的步驟:
Authenticator(授權(quán)): 與授權(quán)相關(guān)的Shiro個(gè)對(duì)象關(guān)系如下:
換成流程圖對(duì)應(yīng)上述的步驟:
總結(jié)
以上是生活随笔為你收集整理的Shiro介绍及主要流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JVM实战与原理---内存区域分配
- 下一篇: 在组策略中用户策略仅对特定计算机生效,将