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

spring-security關(guān)閉登錄框的實(shí)現(xiàn)示例

 更新時(shí)間:2021年05月10日 09:36:53   作者:jyc35136  
這篇文章主要介紹了spring-security關(guān)閉登錄框的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

事情要從同事的一個(gè)項(xiàng)目說起,項(xiàng)目中需要集成公司的單點(diǎn)登錄系統(tǒng),但是無論如何都無法跳轉(zhuǎn)到正常的登錄頁面。相反,卻始終跳轉(zhuǎn)到另外一個(gè)登錄頁面。

但是代碼卻非常簡單,簡化一下

@Controller
public class SecurityTestController {

  @GetMapping("/myLogin")
  public String login() {
    return "login";
  }

  @GetMapping("/")
  public String homePage() {
    return "homePage";
  }
}

發(fā)現(xiàn)無論是"/myLogin"還是"/"都繞不過登錄,即使打了斷點(diǎn)也進(jìn)入不了兩個(gè)方法。

由于之前沒有接觸過securtiy,還以為是公司另外一個(gè)登錄系統(tǒng),讓同事輸入公司域賬戶和密碼,卻怎么也無法進(jìn)入。最后還是同事通過搜索"please sign in" + "spring"的關(guān)鍵詞才知道這個(gè)是securtiy。

那既然知道是spring boot 的security,那要如何登錄呢,以及要如何關(guān)閉這個(gè)登錄框呢?

第一個(gè)問題,如何登錄?

我們從啟動日志中,可以看到有一條這樣的日志

 

所以,這個(gè)就是登錄用到的密碼。那用戶名是什么呢? 這個(gè)可以進(jìn)入U(xiǎn)serDetailsServiceAutoConfiguration看看究竟。

然后繼續(xù)進(jìn)入SecurityProperties.User看看。

可以從代碼中看到,如果不做任何配置,Spring Security的User信息,name是user,而paasword是UUID,這個(gè)會在啟動日志中打印。

在登錄框中,輸入"user" + 日志中的密碼,即可正常登錄。

定義用戶名和密碼

對于登錄名和密碼,可以通過在application.properties文件中指定

spring.security.user.name=admin
spring.security.user.password=admin

第二個(gè)問題,有沒有辦法關(guān)閉登錄?

關(guān)閉自動配置

當(dāng)我們僅僅引入了Spring Securtiy的Starter,就發(fā)現(xiàn)訪問會存在輸入框。一定是SpringBoot的autoConfig幫我們配置了一些東西。那么可以通過關(guān)閉Securtiy的autoConfig關(guān)閉登錄。

可以在啟動類上添加

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class})

或者是在application.properties文件中添加

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration,org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration

注意到我的項(xiàng)目中,除了SecurityAutoConfiguration被排除掉外,還有ManagementWebSecurityAutonConfiguration被排除,這個(gè)類是Actuator引入的。如果項(xiàng)目中有使用Actuator,那么就需要同時(shí)排除掉ManagementWebSecurityAutonConfiguration。

定制WebSecurityConfigureAdapter關(guān)閉登錄框

@Component
public class MySecurtiyConfig extends WebSecurityConfigurerAdapter {

  @Override
  protected void configure(HttpSecurity http) throws Exception {
    // 正常配置其他安全相關(guān)的內(nèi)容

    // 將登錄框關(guān)閉
    http.formLogin().disable();
  }
}

這里推薦使用第二種方式,因?yàn)橐隨pring-security肯定是有業(yè)務(wù)需要的,可以定制化登錄校驗(yàn)信息。

到此這篇關(guān)于spring-security關(guān)閉登錄框的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)spring security關(guān)閉登錄框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot實(shí)現(xiàn)抽獎算法的示例代碼

    SpringBoot實(shí)現(xiàn)抽獎算法的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何通過SpringBoot實(shí)現(xiàn)抽獎算法,文中的示例代碼簡潔易懂,具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下
    2023-06-06
  • springboot集成PageHelper分頁失效的原因及解決

    springboot集成PageHelper分頁失效的原因及解決

    項(xiàng)目啟動初期,在集成mybatis的分頁插件,自定義封裝了一個(gè)分頁的工具類,方便后期項(xiàng)目的擴(kuò)展,結(jié)果無法分頁了,怎么設(shè)置搞都沒辦法正常分頁,所以本文將給大家介紹一下springboot集成PageHelper分頁失效的原因及解決,需要的朋友可以參考下
    2023-10-10
  • Java壓縮集合的三種方法

    Java壓縮集合的三種方法

    這篇文章主要介紹了Java壓縮集合的三種方法,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-01-01
  • Java多線程中的Interrupt簡析

    Java多線程中的Interrupt簡析

    這篇文章主要介紹了Java多線程中的Interrupt簡析,Interrupt 的其作用是"中斷"線程, 但實(shí)際上線程仍會繼續(xù)運(yùn)行, 這是一個(gè)非常容易混淆的概念,Interrupt 的真正作用是給線程對象設(shè)置一個(gè)中斷標(biāo)記, 并不會影響線程的正常運(yùn)行,需要的朋友可以參考下
    2023-09-09
  • java提取字符串中數(shù)字string以及獲取字符串中的整數(shù)或小數(shù)

    java提取字符串中數(shù)字string以及獲取字符串中的整數(shù)或小數(shù)

    這篇文章主要給大家介紹了關(guān)于java提取字符串中數(shù)字string以及獲取字符串中的整數(shù)或小數(shù)的相關(guān)資料,需要的朋友可以參考下
    2023-08-08
  • TKMybatis的介紹和使用詳解

    TKMybatis的介紹和使用詳解

    TKMybatis 是基于 Mybatis 框架開發(fā)的一個(gè)工具,本文主要介紹了TKMybatis的介紹和使用詳解,內(nèi)部實(shí)現(xiàn)了對單表的基本數(shù)據(jù)操作,只需要簡單繼承 TKMybatis 提供的接口,就能夠?qū)崿F(xiàn)無需編寫任何 sql 即能完成單表操作,感興趣的可以了解一下
    2021-12-12
  • Java instanceof關(guān)鍵字的的進(jìn)一步理解

    Java instanceof關(guān)鍵字的的進(jìn)一步理解

    這篇文章主要介紹了Java instanceof關(guān)鍵字的的進(jìn)一步理解,本文用一些實(shí)例講解了instanceof操作符的一些知識,需要的朋友可以參考下
    2015-03-03
  • 一文帶你掌握J(rèn)ava?LinkedBlockingQueue

    一文帶你掌握J(rèn)ava?LinkedBlockingQueue

    LinkedBlockingQueue?是一個(gè)可選有界阻塞隊(duì)列,這篇文章主要為大家詳細(xì)介紹了Java中LinkedBlockingQueue的實(shí)現(xiàn)原理與適用場景,感興趣的可以了解一下
    2023-04-04
  • 詳解Java設(shè)計(jì)模式——迭代器模式

    詳解Java設(shè)計(jì)模式——迭代器模式

    這篇文章主要介紹了Java設(shè)計(jì)模式——迭代器模式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java實(shí)戰(zhàn)之郵件的撰寫和發(fā)送

    Java實(shí)戰(zhàn)之郵件的撰寫和發(fā)送

    這篇文章主要為大家詳細(xì)介紹了通過Java代碼實(shí)現(xiàn)郵件的撰寫和發(fā)送功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的小伙伴們可以學(xué)習(xí)一下
    2021-11-11

最新評論