色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:128日期:2023-08-29 10:16:06

前言

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

Spring Security 和Apache Shiro

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

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

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

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

過(guò)濾器鏈

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

RBAC模型

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

其他一些概念

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

總結(jié)

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

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

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 欧美国产91| 亚洲欧美在线看 | 福利视频99 | 丰满老熟女毛片 | 91热国内精品永久免费观看 | 99久久精品免费看国产免费 | 国产一级做a爱免费观看 | 久草视频在线播放 | 国产成人免费片在线视频观看 | 精品日韩在线视频一区二区三区 | 精品一区二区三区视频在线观看免 | a级毛片高清免费视频 | 日本乱人伦片中文字幕三区 | 欧美一级欧美三级 | 精品国产91久久久久久久a | 91久久国产精品 | 国产日韩欧美精品一区二区三区 | 中文字幕成人免费视频 | 国产中文字幕在线播放 | 欧美jizzhd精品欧美高清 | 2019在线亚洲成年视频网站 | 久久亚洲精品中文字幕 | 欧美一级毛片一免费 | 国产一级一片免费播放刺激 | 免费公开视频人人人人人人人 | 日本成人午夜 | 亚久久伊人精品青青草原2020 | 亚洲黄色片网站 | 特级毛片免费观看视频 | 亚洲国产cao | 成年人在线观看视频网站 | 国内精品福利在线视频 | 精品一区二区三区18 | 欧美日韩加勒比一区二区三区 | www.色中色 | 成人爱做日本视频免费 | 最新国产精品亚洲二区 | 欧美日韩一区二区在线观看 | 国产伦久视频免费观看 视频 | 亚洲欧美日韩综合久久久久 | 国产真实乱子伦精品 |