最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于SpringSecurity簡(jiǎn)介以及和Shiro的區(qū)別

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

Spring Security簡(jiǎn)介

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

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

Spring Security 的前身是 Acegi Security,在被收納為Spring子項(xiàng)目后正式更名為Spring Security

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

應(yīng)用程序的安全性通常體現(xiàn)在兩個(gè)方面:認(rèn)證和授權(quán)。

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

這些概念并非Spring Security獨(dú)有,而是應(yīng)用安全的基本關(guān)注點(diǎn)。Spring Security可以幫助我們更便捷地完成認(rèn)證和授權(quán),Spring Security 支持廣泛的認(rèn)證技術(shù),這些認(rèn)證技術(shù)大多由第三方或相關(guān)標(biāo)準(zhǔn)組織開(kāi)發(fā)。Spring Security已經(jīng)集成的認(rèn)證技術(shù)如下:

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

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

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

在授權(quán)上,Spring Security不僅支持基于URL對(duì)Web的請(qǐng)求授權(quán),還支持方法訪問(wèn)授權(quán)、對(duì)象訪問(wèn)授權(quán)等,基本涵蓋常見(jiàn)的大部分授權(quán)場(chǎng)景。

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

Spring Security和Shiro的區(qū)別

1.相同點(diǎn)

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

2.不同點(diǎn)

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

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

相關(guān)文章

  • 詳解Spring Kafka中關(guān)于Kafka的配置參數(shù)

    詳解Spring Kafka中關(guān)于Kafka的配置參數(shù)

    這篇文章主要介紹了詳解Spring Kafka中關(guān)于Kafka的配置參數(shù),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Java連接服務(wù)器的兩種方式SFTP和FTP

    Java連接服務(wù)器的兩種方式SFTP和FTP

    在項(xiàng)目開(kāi)發(fā)中,一般文件存儲(chǔ)很少再使用SFTP服務(wù),但是也不排除合作伙伴使用SFTP來(lái)存儲(chǔ)項(xiàng)目中的文件或者通過(guò)SFTP來(lái)實(shí)現(xiàn)文件數(shù)據(jù)的交互,這篇文章主要介紹了Java集成FTP與SFTP連接池
    2023-02-02
  • SpringBoot+MyBatis+AOP實(shí)現(xiàn)讀寫(xiě)分離的示例代碼

    SpringBoot+MyBatis+AOP實(shí)現(xiàn)讀寫(xiě)分離的示例代碼

    高并發(fā)這個(gè)階段,肯定是需要做MySQL讀寫(xiě)分離的。本文主要介紹了SpringBoot+MyBatis+AOP實(shí)現(xiàn)讀寫(xiě)分離的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • SpringAop日志找不到方法的處理

    SpringAop日志找不到方法的處理

    這篇文章主要介紹了SpringAop日志找不到方法的處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java如果在try里面執(zhí)行return還會(huì)不會(huì)執(zhí)行finally

    Java如果在try里面執(zhí)行return還會(huì)不會(huì)執(zhí)行finally

    這篇文章主要介紹了Java如果在try里面執(zhí)行return,那么還會(huì)不會(huì)執(zhí)行finally,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 詳解Spring bean的注解注入之@Autowired的原理及使用

    詳解Spring bean的注解注入之@Autowired的原理及使用

    之前講過(guò)bean注入是什么,也使用了xml的配置文件進(jìn)行bean注入,這也是Spring的最原始的注入方式(xml注入).本文主要講解的注解有以下幾個(gè):@Autowired、 @Service、@Repository、@Controller 、@Component、@Bean、@Configuration、@Resource ,需要的朋友可以參考下
    2021-06-06
  • Spring Boot JPA訪問(wèn)Mysql示例

    Spring Boot JPA訪問(wèn)Mysql示例

    本篇文章主要介紹了Spring Boot JPA訪問(wèn)Mysql示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • SpringBoot無(wú)法請(qǐng)求html等靜態(tài)資源文件webapp或者resources/static的問(wèn)題及解決方案

    SpringBoot無(wú)法請(qǐng)求html等靜態(tài)資源文件webapp或者resources/static的問(wèn)題及解決方案

    今天遇到一個(gè)問(wèn)題無(wú)法訪問(wèn)靜態(tài)資源文件,html,本文給大家分享SpringBoot無(wú)法請(qǐng)求html等靜態(tài)資源文件webapp或者resources/static的問(wèn)題及解決方案,感興趣的朋友一起看看吧
    2024-05-05
  • 求1000階乘的結(jié)果末尾有多少個(gè)0

    求1000階乘的結(jié)果末尾有多少個(gè)0

    題目是:求1000!的結(jié)果末尾有多少個(gè)0,解題思路:兩個(gè)素?cái)?shù)2、5,相乘即可得到10,我們可以認(rèn)為,有多少組2、5,結(jié)尾就有多少個(gè)0,下面是代碼,需要的朋友可以參考下
    2014-02-02
  • mybatis if test 不為空字符串且不為null的問(wèn)題

    mybatis if test 不為空字符串且不為null的問(wèn)題

    這篇文章主要介紹了mybatis if test 不為空字符串且不為null的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評(píng)論

象州县| 保康县| 镇康县| 茂名市| 思南县| 永靖县| 多伦县| 安阳市| 阳原县| 清镇市| 台湾省| 毕节市| 扶风县| 南陵县| 麦盖提县| 毕节市| 通海县| 东阳市| 富裕县| 浠水县| 团风县| 临漳县| 通化市| 宁城县| 海阳市| 安平县| 荥经县| 洪江市| 扬中市| 乳源| 贵德县| 建瓯市| 孝感市| 甘谷县| 敦煌市| 华宁县| 鄂尔多斯市| 六枝特区| 廊坊市| 阳朔县| 蚌埠市|