前言:
近期在進行shiro權(quán)限管理進行學習仅讽,網(wǎng)上找了些資料,看了開濤哥的系列學習点额,但是感覺過于“高冷”舔株,所以記錄這個系列學習,希望一起學習一起進步还棱。
正文:
1载慈、Apache Shiro簡介:
Apache Shiro 是一個強大而靈活的開源安全框架,它干凈利落地處理身份認證珍手,授權(quán)办铡,企業(yè)會話管理和加密。
Apache Shiro 的首要目標是易于使用和理解琳要。安全有時候是很復雜的寡具,甚至是痛苦的,但它沒有必要這樣稚补⊥框架應(yīng)
該盡可能掩蓋復雜的地方,露出一個干凈而直觀的 API课幕,來簡化開發(fā)人員在使他們的應(yīng)用程序安全上的努力厦坛。
以下是你可以用 Apache Shiro 所做的事情:
? ? ?? 驗證用戶來核實他們的身份
? ? ?? 對用戶執(zhí)行訪問控制五垮,如:
? ? ? ? ? ? ? 判斷用戶是否被分配了一個確定的安全角色
? ? ? ? ? ? ? 判斷用戶是否被允許做某事
? ? ? ? 在任何環(huán)境下使用 Session API,即使沒有 Web 或 EJB 容器杜秸。
? ? ?? 在身份驗證拼余,訪問控制期間或在會話的生命周期,對事件作出反應(yīng)亩歹。
? ? ?? 聚集一個或多個用戶安全數(shù)據(jù)的數(shù)據(jù)源,并作為一個單一的復合用戶“視圖”凡橱。
? ? ?? 啟用單點登錄(SSO)功能小作。
? ? ?? 為沒有關(guān)聯(lián)到登錄的用戶啟用"Remember Me"服務(wù)
? ? 等等
2、Apache Shiro 特點
shiro應(yīng)用的四大基石:
? ? ? Authentication-身份驗證:有時也簡稱為“登錄”稼钩,這是一個證明用戶是他們所說的他們是誰的行為顾稀。
? ? ? Authorization-授權(quán):訪問控制的過程,也就是絕對“誰”去訪問“什么”坝撑。
? ? ? Session Management-會話管理:管理用戶特定的會話静秆,即使在非 Web 或 EJB 應(yīng)用程序。 ??
? ? ? Cryptography-加密:通過使用加密算法保持數(shù)據(jù)安全同時易于使用巡李。
當然shiro也提供了額外的功能來支持和加強在不同環(huán)境下所關(guān)注的方面抚笔,尤其是以下這些:
? ? ? Web Support:Shiro 的 web 支持的 API 能夠輕松地幫助保護 Web 應(yīng)用程序。
? ? ? Caching:緩存是 Apache Shiro 中的第一層公民侨拦,來確保安全操作快速而又高效殊橙。
? ? ? Concurrency:Apache Shiro 利用它的并發(fā)特性來支持多線程應(yīng)用程序。
? ? ? Testing:測試支持的存在來幫助你編寫單元測試和集成測試狱从,并確保你的能夠如預期的一樣安全膨蛮。
? ? ? "Run As":一個允許用戶假設(shè)為另一個用戶身份(如果允許)的功能,有時候在管理腳本很有用季研。
? ? ? "Remember Me":在會話中記住用戶的身份敞葛,所以他們只需要在強制時候登錄。