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