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

Spring Security整合Oauth2實(shí)現(xiàn)流程詳解

 更新時(shí)間:2020年08月25日 11:23:46   作者:鼓搗貓膩  
這篇文章主要介紹了Spring Security整合Oauth2實(shí)現(xiàn)流程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、創(chuàng)建項(xiàng)目并導(dǎo)入依賴

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

注:這里的oauth2不是springboot那個(gè),這是springsecurity。

Oauth2一共有四種認(rèn)證模式是

本篇是password的認(rèn)證模式,用于前后端分離登陸

第三方登陸一般是授權(quán)碼模式

二、相關(guān)配置和代碼

注:授權(quán)服務(wù)器和資源服務(wù)器一般是分開(kāi)來(lái)的,我這里就不分開(kāi)了

2.1)application.properties

spring.redis.host=192.168.21.135

spring.redis.port=6379

spring.redis.database=0

spring.redis.password=520hufei520

2.2)創(chuàng)建授權(quán)服務(wù)

2.2.1)實(shí)現(xiàn)AuthorizationServiceConfigurerAdapter

@Configuration表示這個(gè)一個(gè)配置類

@EnableAuthorizationServer表示開(kāi)啟授權(quán)服務(wù)

2.2.2)注入AuthenticationManager、RedisConnectionFactory、UserDetailsService

AuthenticationManager表示支持password認(rèn)證模式

RedisConnectionFactory登陸成功后的token需要存在redis里面,因?yàn)閞edis里面有過(guò)期機(jī)制

UserDetailsService里面存放著用戶信息

2.2.3)重寫(xiě)方法

2.3)創(chuàng)建資源服務(wù)

2.3.1)實(shí)現(xiàn)ResourceServerConfigurerAdapter

@configuration表示這是一個(gè)配置類

@enbaleResourceServer表示開(kāi)啟資源服務(wù)

2.3.2)重寫(xiě)方法

2.4)創(chuàng)建Security配置類

2.4.1)實(shí)現(xiàn)WebSecurityConfigurerAdapter

2.4.2)將授權(quán)服務(wù)需要的兩個(gè)bean,提供給它

@Bean表示告訴方法,產(chǎn)生一個(gè)Bean對(duì)象,然后這個(gè)Bean對(duì)象交給Spring管理。產(chǎn)生這個(gè)Bean對(duì)象的方法Spring只會(huì)調(diào)用一次,隨后這個(gè)Spring將會(huì)將這個(gè)Bean對(duì)象放在自己的IOC容器中。

@Bean和@Component作用一樣都是將bean注冊(cè)到spring容器中去

2.4.3)重寫(xiě)方法

2.5)創(chuàng)建Controller

三、測(cè)試&效果

3.1)獲取訪問(wèn)資源服務(wù)的token

3.2)訪問(wèn)資源服務(wù)

3.3)刷新token

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring @Scheduler使用cron表達(dá)式時(shí)的執(zhí)行問(wèn)題詳解

    Spring @Scheduler使用cron表達(dá)式時(shí)的執(zhí)行問(wèn)題詳解

    Spring給程序猿們帶來(lái)了許多便利。下面這篇文章主要給大家介紹了關(guān)于Spring @Scheduler使用cron表達(dá)式時(shí)的執(zhí)行問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • Springboot實(shí)現(xiàn)Excel批量導(dǎo)入數(shù)據(jù)并保存到本地

    Springboot實(shí)現(xiàn)Excel批量導(dǎo)入數(shù)據(jù)并保存到本地

    這篇文章主要為大家詳細(xì)介紹了Springboot實(shí)現(xiàn)Excel批量導(dǎo)入數(shù)據(jù)并將文件保存到本地效果的方法,文中的示例代講解詳細(xì),需要的可以參考一下
    2022-09-09
  • Java并發(fā)之Condition案例詳解

    Java并發(fā)之Condition案例詳解

    這篇文章主要介紹了Java并發(fā)之Condition案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 超詳細(xì)講解Java秒殺項(xiàng)目登陸模塊的實(shí)現(xiàn)

    超詳細(xì)講解Java秒殺項(xiàng)目登陸模塊的實(shí)現(xiàn)

    這是一個(gè)主要使用java開(kāi)發(fā)的秒殺系統(tǒng),項(xiàng)目比較大,所以本篇只實(shí)現(xiàn)了登陸模塊,代碼非常詳盡,感興趣的朋友快來(lái)看看
    2022-03-03
  • Java 實(shí)戰(zhàn)范例之線上婚紗攝影預(yù)定系統(tǒng)的實(shí)現(xiàn)

    Java 實(shí)戰(zhàn)范例之線上婚紗攝影預(yù)定系統(tǒng)的實(shí)現(xiàn)

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+javaweb+SSM+springboot+mysql實(shí)現(xiàn)一個(gè)線上婚紗攝影預(yù)定系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • Java開(kāi)發(fā)SpringBoot集成接口文檔實(shí)現(xiàn)示例

    Java開(kāi)發(fā)SpringBoot集成接口文檔實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了Java開(kāi)發(fā)SpringBoot如何集成接口文檔的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • IntelliJ?IDEA?2022.1.1?沒(méi)有CVS的過(guò)程分析

    IntelliJ?IDEA?2022.1.1?沒(méi)有CVS的過(guò)程分析

    這篇文章主要介紹了IntelliJ?IDEA?2022.1.1?沒(méi)有CVS的過(guò)程解析,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Intellij IDEA 與maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.PathTranslator was bound

    Intellij IDEA 與maven 版本不符 Unable to import maven project See

    這篇文章主要介紹了Intellij IDEA 與maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.PathTranslator was bound,本文通過(guò)圖文給大家分享解決方案,需要的朋友可以參考下
    2020-08-08
  • springboot?log4j2.xml如何讀取application.yml中屬性值

    springboot?log4j2.xml如何讀取application.yml中屬性值

    這篇文章主要介紹了springboot?log4j2.xml如何讀取application.yml中屬性值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 一文詳解Java中的AuthRequest類(附Demo)

    一文詳解Java中的AuthRequest類(附Demo)

    公共接口,定義了對(duì)第三方平臺(tái)進(jìn)行授權(quán)、登錄、撤銷授權(quán)和刷新 token 的操作,本文將詳細(xì)分析Java中的AuthRequest類(附Demo),文中通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-04-04

最新評(píng)論