欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關于SpringSecurity簡介以及和Shiro的區(qū)別

 更新時間:2023年07月11日 10:47:10   作者:光陰似鍵  
這篇文章主要介紹了關于SpringSecurity簡介以及和Shiro的區(qū)別,在Java應用安全領域,Spring Security會成為被首先推崇的解決方案,就像我們看到服務器就會聯(lián)想到Linux一樣順理成章,需要的朋友可以參考下

Spring Security簡介

官網(wǎng): https://spring.io/projects/spring-security

中文文檔: https://www.springcloud.cc/spring-security.html    

Spring Security 的前身是 Acegi Security,在被收納為Spring子項目后正式更名為Spring Security。

在筆者成書時,Spring Security已經(jīng)升級到5.1.3.RELEASE版本,加入了原生OAuth2.0框架,支持更加現(xiàn)代化的密碼加密方式??梢灶A見,在Java應用安全領域,Spring Security會成為被首先推崇的解決方案,就像我們看到服務器就會聯(lián)想到Linux一樣順理成章。

應用程序的安全性通常體現(xiàn)在兩個方面:認證和授權。

認證是確認某主體在某系統(tǒng)中是否合法、可用的過程。這里的主體既可以是登錄系統(tǒng)的用戶,也可以是接入的設備或者其他系統(tǒng)。授權是指當主體通過認證之后,是否允許其執(zhí)行某項操作的過程。

這些概念并非Spring Security獨有,而是應用安全的基本關注點。Spring Security可以幫助我們更便捷地完成認證和授權,Spring Security 支持廣泛的認證技術,這些認證技術大多由第三方或相關標準組織開發(fā)。Spring Security已經(jīng)集成的認證技術如下:

  • HTTP BASIC authentication headers:一個基于IETF RFC的標準。
  • HTTP Digest authentication headers:一個基于IETF RFC的標準。
  • HTTP X.509 client certificate exchange:一個基于IETF RFC的標準。
  • LDAP:一種常見的跨平臺身份驗證方式。
  • Form-based authentication:用于簡單的用戶界面需求。
  • OpenID authentication:一種去中心化的身份認證方式。
  • Authentication based on pre-established request headers:類似于 Computer Associates SiteMinder,一種用戶身份驗證及授權的集中式安全基礎方案。
  • JasigCentral Authentication Service:單點登錄方案。
  • Transparent authentication context propagation for Remote Method Invocation(RMI)and HttpInvoker:一個Spring遠程調(diào)用協(xié)議。
  • Automatic "remember-me" authentication:允許在指定到期時間前自行重新登錄系統(tǒng)。
  • Anonymous authentication:允許匿名用戶使用特定的身份安全訪問資源。
  • Run-as authentication:允許在一個會話中變換用戶身份的機制。
  • Java Authentication and Authorization Service:JAAS:Java驗證和授權API。
  • Java EE container authentication:允許系統(tǒng)繼續(xù)使用容器管理這種身份驗證方式。
  • Kerberos:一種使用對稱密鑰機制,允許客戶端與服務器相互確認身份的認證協(xié)議。

除此之外,Spring Security還引入了一些第三方包,用于支持更多的認證技術,如JOSSO等。如果所有這些技術都無法滿足需求,則Spring Security允許我們編寫自己的認證技術。因此,在絕大部分情況下,當我們有Java應用安全方面的需求時,選擇Spring Security往往是正確而有效的。

Internet工程任務組(Internet Engineering Task Force,IETF)是推動Internet標準規(guī)范制定的最主要的組織。請求注解(Request For Comments,RFC)包含大多數(shù)關于Internet的重要文字資料,被稱為“網(wǎng)絡知識圣經(jīng)”。

在授權上,Spring Security不僅支持基于URL對Web的請求授權,還支持方法訪問授權、對象訪問授權等,基本涵蓋常見的大部分授權場景。

很多時候,一個系統(tǒng)的安全性完全取決于系統(tǒng)開發(fā)人員的安全意識。例如,在我們從未聽過SQL注入時,如何意識到要對SQL注入做防護?關于Web系統(tǒng)安全的攻擊方式非常多,諸如XSS、CSRF等,未來還會暴露出更多的攻擊方式,我們只有在充分了解其攻擊原理后,才能提出完善而有效的防護策略。在筆者看來,學習Spring Security并非局限于降低Java應用的安全開發(fā)成本,通過Spring Security了解常見的安全攻擊手段以及對應的防護方法也尤為重要,這些是脫離具體開發(fā)語言而存在的。

Spring Security和Shiro的區(qū)別

1.相同點

  • ①認證功能
  • ②授權功能
  • ③加密功能
  • ④會話管理
  • ⑤緩存支持
  • ⑥r(nóng)ememberMe功能 … …

2.不同點

  • ①Spring Security是一個重量級的安全管理框架;Shiro則是一個輕量級的安全管理框架
  • ②Spring Security 基于Spring開發(fā),項目若使用Spring作為基礎,配合Spring Security 做權限更便捷,而Shiro需要和Spring 進行整合開發(fā);
  • ③Spring Security 功能比Shiro更加豐富些,例如安全維護方面;
  • ④Spring Security 社區(qū)資源相對于Shiro更加豐富;
  • ⑤Shiro 的配置和使用比較簡單,Spring Security 上手復雜些;
  • ⑥Shiro 依賴性低,不需要任何框架和容器,可以獨立運行, Spring Security依賴Spring容器;
  • ⑦Shiro 不僅僅可以使用在web中,它可以工作在任何應用環(huán)境中。在集群會話時Shiro最重要的一個好處或許就是它的會話是獨立于容器的

到此這篇關于關于SpringSecurity簡介以及和Shiro的區(qū)別的文章就介紹到這了,更多相關SpringSecurity和Shiro的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論