前言:
近期在進行shiro權限管理進行學習,網上找了些資料,看了開濤哥的系列學習,但是感覺過于“高冷”,所以記錄這個系列學習,希望一起學習一起進步。
正文:
1、Apache Shiro簡介:
Apache Shiro 是一個強大而靈活的開源安全框架,它干凈利落地處理身份認證,授權,企業會話管理和加密。
Apache Shiro 的首要目標是易于使用和理解。安全有時候是很復雜的,甚至是痛苦的,但它沒有必要這樣。框架應
該盡可能掩蓋復雜的地方,露出一個干凈而直觀的 API,來簡化開發人員在使他們的應用程序安全上的努力。
以下是你可以用 Apache Shiro 所做的事情:
? ? ?? 驗證用戶來核實他們的身份
? ? ?? 對用戶執行訪問控制,如:
? ? ? ? ? ? ? 判斷用戶是否被分配了一個確定的安全角色
? ? ? ? ? ? ? 判斷用戶是否被允許做某事
? ? ? ? 在任何環境下使用 Session API,即使沒有 Web 或 EJB 容器。
? ? ?? 在身份驗證,訪問控制期間或在會話的生命周期,對事件作出反應。
? ? ?? 聚集一個或多個用戶安全數據的數據源,并作為一個單一的復合用戶“視圖”。
? ? ?? 啟用單點登錄(SSO)功能。
? ? ?? 為沒有關聯到登錄的用戶啟用"Remember Me"服務
? ? 等等
2、Apache Shiro 特點
shiro應用的四大基石:
? ? ? Authentication-身份驗證:有時也簡稱為“登錄”,這是一個證明用戶是他們所說的他們是誰的行為。
? ? ? Authorization-授權:訪問控制的過程,也就是絕對“誰”去訪問“什么”。
? ? ? Session Management-會話管理:管理用戶特定的會話,即使在非 Web 或 EJB 應用程序。 ??
? ? ? Cryptography-加密:通過使用加密算法保持數據安全同時易于使用。
當然shiro也提供了額外的功能來支持和加強在不同環境下所關注的方面,尤其是以下這些:
? ? ? Web Support:Shiro 的 web 支持的 API 能夠輕松地幫助保護 Web 應用程序。
? ? ? Caching:緩存是 Apache Shiro 中的第一層公民,來確保安全操作快速而又高效。
? ? ? Concurrency:Apache Shiro 利用它的并發特性來支持多線程應用程序。
? ? ? Testing:測試支持的存在來幫助你編寫單元測試和集成測試,并確保你的能夠如預期的一樣安全。
? ? ? "Run As":一個允許用戶假設為另一個用戶身份(如果允許)的功能,有時候在管理腳本很有用。
? ? ? "Remember Me":在會話中記住用戶的身份,所以他們只需要在強制時候登錄。