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

Spring Security 和Apache Shiro你需要具備哪些條件

 更新時間:2020年07月06日 14:52:13   作者:spring security  
這篇文章主要介紹了Spring Security 和Apache Shiro你需要具備哪些條件,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

前言

web應(yīng)用達到生產(chǎn)需要就必須有安全控制。java web領(lǐng)域經(jīng)常提及的兩大開源框架主要有兩種選擇
Spring Security和Apache Shiro 。所以學(xué)習(xí)這兩種框架也是java開發(fā)者提高水平的必經(jīng)之路。從今天開始連續(xù)一段時間內(nèi),研究一下Spring Security。

Spring Security 和Apache Shiro

相對于Apache Shiro,Spring Security提供了更多的諸如LDAPOAuth2.0、ACLKerberos、SAMLSSOOpenID等諸多的安全認(rèn)證、鑒權(quán)協(xié)議,可以按需引用。對認(rèn)證/鑒權(quán)更加靈活,粒度更細(xì)??梢越Y(jié)合你自己的業(yè)務(wù)場景進行更加合理的定制化開發(fā)。在最新的Spring Security 5.x中更是提供了響應(yīng)式應(yīng)用(reactive application)提供了安全控制支持。從語言上來講,支持使用kotlin、groovy進行開發(fā)。

Spring Security因為是利用了Spring IOC 和AOP的特性而無法脫離Spring獨立存在。而Apache Shiro可以獨立存在。但是Java Web領(lǐng)域Spring可以說是事實上的J2EE規(guī)范。使用Java技術(shù)棧很少能脫離Spring。也因為功能強大Spring Security被認(rèn)為非常重,這是不對的。認(rèn)真學(xué)習(xí)之后會發(fā)現(xiàn)其實也就是那么回事。兩種框架都是非常優(yōu)秀的安全框架,根據(jù)實際需要做技術(shù)選型。如果你要學(xué)習(xí)這兩種安全框架就必須熟悉一下一些相對專業(yè)的概念。

認(rèn)證/鑒權(quán)

這兩個概念英文分別為authentication/authorization 。是不是特別容易混淆。無論你選擇Apache Shiro 或者 Spring Security 都需要熟悉這兩個概念。其實簡單來說認(rèn)證(authentication)就是為了證明你是誰,比如你輸入賬號密碼證明你是用戶名為Felordcn的用戶。而授權(quán)(authorization)是通過認(rèn)證后的用戶所綁定的角色等憑證來證明你可以做什么 。打一個現(xiàn)實中的例子。十一長假大家遠行都要乘坐交通工具,現(xiàn)在坐車實名制,也就是說你坐車需要兩件東西:身份證和車票 。身份證是為了證明你確實是你,這就是 authentication;而車票是為了證明你張三確實買了票可以上車,這就是 authorization。這個例子從另一方面也證明了。如果只有認(rèn)證沒有授權(quán),認(rèn)證就沒有意義。如果沒有認(rèn)證,授權(quán)就無法賦予真正的可信任的用戶。兩者是同時存在的。

過濾器鏈

對于servlet web應(yīng)用來說,想要通用的安全控制最好莫過于使用Servlet Filter 。 過濾器責(zé)任鏈(關(guān)于責(zé)任鏈可以通過https://www.felord.cn/chainpattern.html 來了解)來組成一系列的過濾策略,不同的條件的請求進入不同的過濾器進行各自的處理邏輯。我們可以對這些Filter 進行排列組合以滿足我們的實際業(yè)務(wù)需要。

RBAC模型

RBAC 是基于角色的訪問控制(Role-Based Access Control )的簡稱。在 RBAC 中,權(quán)限與角色相關(guān)聯(lián),用戶通過成為適當(dāng)角色的成員而得到這些角色的權(quán)限。這就極大地簡化了權(quán)限的管理。這樣管理都是層級相互依賴的,權(quán)限賦予給角色,而把角色又賦予用戶,這樣的權(quán)限設(shè)計很清楚,管理起來很方便。當(dāng)你擁有某個角色以后,你自然繼承了該角色的所有功能。對你的一些操作限制不需要直接與你進行溝通,只需要操作你擁有的角色。比如你在公司既是一個java程序員又是一個前端程序員,那么你不但要當(dāng)sqlboy還要當(dāng)頁面仔。如果有一天經(jīng)理說了前端負(fù)責(zé)測試工作,好了你又承擔(dān)了測試任務(wù)。

其他一些概念

比如其它一些常見的安全策略、攻擊方式。比如 反向代理、網(wǎng)關(guān)、壁壘機這種偏運維的知識;CSRF(Cross-site request forgery)跨站請求偽造 、XSS(跨站腳本攻擊)也需要了解一些。對于一些上面提到的什么OAuth2.0之類的協(xié)議也最好研究一下。當(dāng)然這些不是必須的。

總結(jié)

本文粗略的簡述了Spring SecurityApache Shiro的一些異同。以及學(xué)習(xí)它們的一些前置條件。如果你不滿足這些條件學(xué)習(xí)起來可能比較吃力。所以本文的作用是為你學(xué)習(xí)預(yù)熱,做一些準(zhǔn)備工作,避免新入門的同學(xué)陷入迷途。也希望大家多多支持,多多關(guān)注。

到此這篇關(guān)于Spring Security 和Apache Shiro你需要具備哪些條件的文章就介紹到這了,更多相關(guān)Spring Security 和Apache Shiro內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • spring boot 防止重復(fù)提交實現(xiàn)方法詳解

    spring boot 防止重復(fù)提交實現(xiàn)方法詳解

    這篇文章主要介紹了spring boot 防止重復(fù)提交實現(xiàn)方法,結(jié)合實例形式詳細(xì)分析了spring boot 防止重復(fù)提交具體配置、實現(xiàn)方法及操作注意事項,需要的朋友可以參考下
    2019-11-11
  • Core Java 簡單談?wù)凥ashSet(推薦)

    Core Java 簡單談?wù)凥ashSet(推薦)

    下面小編就為大家?guī)硪黄狢ore Java 簡單談?wù)凥ashSet(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • java設(shè)計模式之簡單工廠模式

    java設(shè)計模式之簡單工廠模式

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計模式之簡單工廠模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • jedispool連redis高并發(fā)卡死的問題

    jedispool連redis高并發(fā)卡死的問題

    本篇文章主要介紹了jedispool連redis高并發(fā)卡死的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Sharding-JDBC自動實現(xiàn)MySQL讀寫分離的示例代碼

    Sharding-JDBC自動實現(xiàn)MySQL讀寫分離的示例代碼

    本文主要介紹了Sharding-JDBC自動實現(xiàn)MySQL讀寫分離,優(yōu)點在于數(shù)據(jù)源完全有Sharding-JDBC托管,寫操作自動執(zhí)行master庫,讀操作自動執(zhí)行slave庫,感興趣的可以了解一下
    2021-11-11
  • java技巧:反射判斷field類型的操作

    java技巧:反射判斷field類型的操作

    這篇文章主要介紹了java技巧:反射判斷field類型的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Java虛擬機JVM性能優(yōu)化(二):編譯器

    Java虛擬機JVM性能優(yōu)化(二):編譯器

    這篇文章主要介紹了Java虛擬機JVM性能優(yōu)化(二):編譯器,本文先是講解了不同種類的編譯器,并對客戶端編譯,服務(wù)器端編譯器和多層編譯的運行性能進行了對比,然后給出了幾種常見的JVM優(yōu)化方法,需要的朋友可以參考下
    2014-09-09
  • Java正則表達式處理特殊字符轉(zhuǎn)義的方法

    Java正則表達式處理特殊字符轉(zhuǎn)義的方法

    由于正則表達式定了一些特殊字符,而有時候需要對這些特殊字符進行匹配的話就需要進行轉(zhuǎn)義了,下面這篇文章主要給大家介紹了Java正則表達式處理特殊字符轉(zhuǎn)義的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • Java入門案列之猜拳小游戲

    Java入門案列之猜拳小游戲

    這篇文章主要為大家詳細(xì)介紹了Java入門案列之猜拳小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • SpringBoot + SpringSecurity 短信驗證碼登錄功能實現(xiàn)

    SpringBoot + SpringSecurity 短信驗證碼登錄功能實現(xiàn)

    這篇文章主要介紹了SpringBoot + SpringSecurity 短信驗證碼登錄功能實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論