鍍金池/ 教程/ Java/ Shiro教程
Shiro特點(diǎn)
Shiro Web應(yīng)用程序
Shiro教程
Shiro術(shù)語
Shiro是什么?
Shiro 10分鐘教程
Shiro快速入門教程

Shiro教程

Apache Shiro是一個強(qiáng)大靈活的開源安全框架,可以完全處理身份驗(yàn)證,授權(quán),企業(yè)會話管理和加密。
Apache Shiro的首要目標(biāo)是易于使用和理解。 安全有時可能非常復(fù)雜,甚至痛苦,但使用Shiro后就不一定是這樣了。 框架應(yīng)該在可能的情況下掩蓋復(fù)雜性,并展示一個干凈,直觀的API,這簡化了開發(fā)人員工作,并使應(yīng)用程序更安全。

這里有一些可以使用Apache Shiro完全的應(yīng)用場景:

  • 驗(yàn)證用戶以及驗(yàn)證其身份。
  • 對用戶執(zhí)行訪問控制,例如:
    • 確定用戶是否分配了某個安全角色。
    • 確定用戶是否被允許執(zhí)行操作。
  • 在任何環(huán)境中使用會話API,即使沒有Web或EJB容器。
  • 在身份驗(yàn)證,訪問控制或會話有效期內(nèi)對事件做出反應(yīng)。
  • 聚合1個或多個用戶安全數(shù)據(jù)的數(shù)據(jù)源,并將此全部顯示為單個復(fù)合用戶的“視圖”。
  • 啟用單點(diǎn)登錄(SSO)功能。
  • 為用戶關(guān)聯(lián)啟用“記住我”服務(wù),無需登錄。
    … 和更多 - 所有都集成到一個內(nèi)聚易于使用的API。

Shiro嘗試為所有應(yīng)用程序環(huán)境實(shí)現(xiàn)這些目標(biāo) - 從最簡單的命令行應(yīng)用程序到最大的企業(yè)應(yīng)用程序,而不強(qiáng)制依賴于其他第三方框架,容器或應(yīng)用程序服務(wù)器。 當(dāng)然,該項(xiàng)目(Shiro)旨在盡可能地集成到這個Shiro環(huán)境中,從而可以在任何環(huán)境中想用即用。

Apache Shiro特點(diǎn)

Apache Shiro是一個具有許多功能的綜合應(yīng)用程序安全框架。 下圖顯示了Shiro體系結(jié)構(gòu),本參考手冊將以類似方式組織:

Shiro目標(biāo)是什么?
Shiro開發(fā)團(tuán)隊(duì)稱為“應(yīng)用程序安全的四個基石” - 即:認(rèn)證,授權(quán)會話管理加密

1. 認(rèn)證: 有時被稱為“登錄”,這是證明用戶的行為(他們說自己是誰)。
2. 授權(quán):訪問控制的過程,即確定“誰”可以訪問“什么”。
3. 會話管理:管理用戶特定的會話,即使在非Web或EJB應(yīng)用程序中。
4. 加密:使用加密算法保持?jǐn)?shù)據(jù)安全,同時仍然易于使用。

在不同的應(yīng)用環(huán)境中還有其他特性支持和強(qiáng)化這些問題,特別是:

  • Web支持:Shiro的Web支持API有助于保護(hù)Web應(yīng)用程序。
  • 緩存:緩存是Apache Shiro API中的第一級,以確保安全操作保持快速和高效。
  • 并發(fā)性:Apache Shiro支持具有并發(fā)功能的多線程應(yīng)用程序。
  • 測試:存在測試支持,可幫助您編寫單元測試和集成測試,并確保代碼按預(yù)期得到保障。
  • 運(yùn)行方式”:允許用戶承擔(dān)另一個用戶的身份(如果允許)的功能,有時在管理方案中很有用。
  • 記住我”:記住用戶在會話中的身份,所以用戶只需要強(qiáng)制登錄即可。