回覆列表
-
1 # 桃子是個程式猿
-
2 # 會點程式碼的大叔
Shiro和Spring Security都是安全框架,簡單說是對訪問許可權進行控制,他們都提供了認證、授權、加密、會話管理;這裡要提一句,通常這種安全框架不會去幫助我們維護使用者/許可權;這些需要我們自己去實現,然後透過相應的介面注入給安全框架。
那麼Spring Boot專案的話,是使用Shiro還是Spring Security呢?還是先看看兩者有什麼區別和各自的優缺點:
Shiro的配置和使用比較簡單,Spring Security上手複雜些;
Shiro依賴性低,理論上不需要任何框架和容器,可以獨立執行(但是最常用的環境還是JavaEE);Spring Security依賴Spring容器;
Shiro支援Web專案和非Web專案;在叢集環境中,Shiro可以獨立於容器;
Spring Security基於Spring開發,專案若使用Spring(包括Spring Boot)作為基礎,配合Spring Security做許可權更加方便;Shiro需要和Spring進行整合(不過這個複雜程度可以忽略);
Spring Security對Oauth、OpenID也有支援,Shiro則需要自己手動實現。
總結一下,Spring Boot使用Shiro還是Spring Security,我更傾向於Shiro。
一方面雖然Shiro需要和Spring Boot做整合,但是這個過程不復雜;
另外一方面Oauth、OpenID站點間統一登入功能,會有更好的實現方案,很少在這個層級實現,所以Spring Security的這兩個功能可以不考慮。
目前我們公司使用了spring security,採取Oauth2的授權模式,比較適合快速搭建,安全性也不錯。