摘要:認(rèn)證服務(wù)器和瀏覽器控制臺(tái)也沒(méi)有報(bào)錯(cuò)信息。這里簡(jiǎn)單介紹下如何查閱源碼,首先全局搜索自己的配置因?yàn)檫@個(gè)地址是認(rèn)證服務(wù)器請(qǐng)求授權(quán)的,所以,請(qǐng)求認(rèn)證的過(guò)濾器肯定包含他。未完待續(xù),下一篇介紹資源服務(wù)器和認(rèn)證服務(wù)器的集成。
基于spring-security-oauth2-實(shí)現(xiàn)單點(diǎn)登錄
文章代碼地址:鏈接描述可以下載直接運(yùn)行,基于springboot2.1.5,springcloud Greenwich版本實(shí)現(xiàn)。前面兩篇寫了認(rèn)證oauth2通過(guò)內(nèi)存
還有jdbc實(shí)現(xiàn)認(rèn)證中心。接下來(lái)我們采用oauth2實(shí)現(xiàn)管理系統(tǒng)的單點(diǎn)登錄。
說(shuō)到這里,需要介紹幾個(gè)注解:
@EnableAuthorizationServer 該注解用來(lái)開啟認(rèn)證服務(wù),使用該注解表明自己是一個(gè)認(rèn)證服務(wù)。
@EnableResourceServer 該注解要用來(lái)開啟資源保護(hù),表明自己是資源服務(wù)器受認(rèn)證服務(wù)保護(hù)。
@EnableOAuth2Sso 該注解表示自己是oauth2客戶端,也即單點(diǎn)登錄客戶端
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true, jsr250Enabled = true) spring-security默
認(rèn)禁用注解,使用該注解來(lái)判斷用戶對(duì)某個(gè)控制層的方法是否具有訪問(wèn)權(quán)限
好來(lái),注解介紹完了,閑話少說(shuō)。我們開始今天的主題“單點(diǎn)登錄”。
(1)創(chuàng)建sso-client項(xiàng)目,修改maven依賴:
因?yàn)椋莣eb項(xiàng)目需要添加maven依賴。
(2)在啟動(dòng)類加上@EnableOAuth2Sso注解,表明自己是客戶端
(3)下面進(jìn)行最重要的,設(shè)置配置文件
因?yàn)椋懊鎺讉€(gè)配置在之前章節(jié)介紹過(guò),這里只介紹server.servlet.session.cookie.name=OAUTH2SESSION這個(gè)配置。
這是個(gè)坑,我在沒(méi)加這個(gè)配置之前,授權(quán)成功后,還是跳轉(zhuǎn)授權(quán)登錄頁(yè)碼。認(rèn)證服務(wù)器和瀏覽器控制臺(tái)也沒(méi)有報(bào)錯(cuò)信息。只好debug一點(diǎn)點(diǎn)差錯(cuò)。
這里簡(jiǎn)單介紹下如何查閱源碼,首先全局搜索自己的配置
security.oauth2.client.user-authorization-uri=http://localhost:9001/oauth/authorize
因?yàn)檫@個(gè)地址是認(rèn)證服務(wù)器請(qǐng)求授權(quán)的,所以,請(qǐng)求認(rèn)證的過(guò)濾器肯定包含他。搜索的結(jié)果如下:
兩個(gè)結(jié)果,一個(gè)是我們自己配置的忽略,點(diǎn)開另外一個(gè):
ok我們?cè)谠创a中找到這個(gè)類,一直向上找,可以找到OAuth2RestTemplate
同樣的,我們可以搜索這個(gè)地址,查找在認(rèn)證服務(wù)器中是如何認(rèn)證的。
跑偏了,還是介紹下這個(gè)配置吧,通過(guò)這個(gè)配置session和認(rèn)證服務(wù)器不一樣結(jié)局。也可以設(shè)置上下文路徑
server.servlet.context-path=/sso-client
(4)調(diào)回來(lái),下來(lái)我們創(chuàng)建一個(gè)controller文件,用來(lái)獲取授權(quán)用戶信息:
在template下創(chuàng)建index.html歡迎頁(yè)面:
(5)啟動(dòng)客戶端服務(wù):
(6)因?yàn)椋覀冃枰?qǐng)求認(rèn)證服務(wù)器,校驗(yàn)token,因此認(rèn)證服務(wù)器需要開啟/oauth/token路徑,修改WebSecurityConfig文件添加:
(7)啟動(dòng)認(rèn)證服務(wù),訪問(wèn)客戶端首頁(yè): http://localhost:9005 如下:
自動(dòng)跳轉(zhuǎn)到認(rèn)證服務(wù)器登錄地址,輸入用戶名: admin 密碼: 123456 登錄
你可以把項(xiàng)目修改端口啟動(dòng)試試,登錄一個(gè)另一個(gè)不在需要登錄。
未完待續(xù),下一篇介紹資源服務(wù)器和認(rèn)證服務(wù)器的集成。
有問(wèn)題,請(qǐng)留言。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/74756.html
摘要:基于實(shí)現(xiàn)資源服務(wù)器文章代碼地址鏈接描述可以下載直接運(yùn)行,基于,版本實(shí)現(xiàn)。資源服務(wù)器顧名思義就是提供資源的服務(wù)器。和認(rèn)證服務(wù)器對(duì)接后,將受到資源的保護(hù)。基于的資源服務(wù)器實(shí)現(xiàn)完成,未完待續(xù),下一篇將實(shí)現(xiàn)單點(diǎn)登錄和網(wǎng)關(guān)的對(duì)接。 基于spring-security-oauth2實(shí)現(xiàn)資源服務(wù)器 文章代碼地址:鏈接描述可以下載直接運(yùn)行,基于springboot2.1.5,springcloud ...
摘要:基于實(shí)現(xiàn)數(shù)據(jù)庫(kù)版文章代碼地址鏈接描述可以下載直接運(yùn)行,基于,版本實(shí)現(xiàn)該系列分為兩個(gè)部分分為內(nèi)存實(shí)現(xiàn),數(shù)據(jù)庫(kù)實(shí)現(xiàn)。其中數(shù)據(jù)庫(kù)實(shí)現(xiàn)采用權(quán)限角色管理。創(chuàng)建的時(shí)候,需要使用數(shù)據(jù)源,從數(shù)據(jù)庫(kù)查詢。基于數(shù)據(jù)庫(kù)的認(rèn)證服務(wù)完成。 基于spring-security-oauth2實(shí)現(xiàn)oauth2數(shù)據(jù)庫(kù)版 文章代碼地址:鏈接描述可以下載直接運(yùn)行,基于springboot2.1.5,springcloud ...
閱讀 3027·2023-04-25 18:06
閱讀 3272·2021-11-22 09:34
閱讀 2857·2021-08-12 13:30
閱讀 2045·2019-08-30 15:44
閱讀 1661·2019-08-30 13:09
閱讀 1630·2019-08-30 12:45
閱讀 1715·2019-08-29 11:13
閱讀 3608·2019-08-28 17:51