真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用SpringSecurity怎么自定義一個(gè)表單登錄功能-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)使用SpringSecurity怎么自定義一個(gè)表單登錄功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

10年積累的網(wǎng)站建設(shè)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有獨(dú)山子免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

1.創(chuàng)建SpringSecurity項(xiàng)目

1.1 使用IDEA

先通過(guò)IDEA 創(chuàng)建一個(gè)SpringBoot項(xiàng)目 并且依賴SpringSecurity,Web依賴

使用SpringSecurity怎么自定義一個(gè)表單登錄功能

此時(shí)pom.xml會(huì)自動(dòng)添加


    org.springframework.boot
    spring-boot-starter-security

2.擴(kuò)展 WebSecurityConfigurerAdapter

WebSecurityConfigurerAdapter 是SpringSecurity 提供的用于我們擴(kuò)展自己的配置

?實(shí)現(xiàn)WebSecurityConfigurerAdapter經(jīng)常需要重寫的:

1、configure(AuthenticationManagerBuilder auth);

2、configure(WebSecurity web);

3、configure(HttpSecurity http);

2.1 默認(rèn) WebSecurityConfigurerAdapter 為我們提供了一些基礎(chǔ)配置如下

protected void configure(HttpSecurity http) throws Exception {
  logger.debug("Using default configure(HttpSecurity). If subclassed this will potentially override subclass configure(HttpSecurity).");

  http
    .authorizeRequests()
      .anyRequest().authenticated()
      .and()
    .formLogin().and()
    .httpBasic();
}

2.2 創(chuàng)建自定義的 WebSecurityConfigurer

1.formLogin() 開(kāi)啟表單登錄,該方法會(huì)應(yīng)用 FormLoginConfigurer 到HttpSecurity上,后續(xù)會(huì)被轉(zhuǎn)換為對(duì)應(yīng)的Filter
2.loginPage() 配置自定義的表單頁(yè)面
3.authorizeRequests().anyRequest().authenticated(); 表示任何請(qǐng)求接口都要認(rèn)證**

@Configuration
@Slf4j
public class MyWebSecurityConfig extends WebSecurityConfigurerAdapter {

 

@Override
protected void configure(HttpSecurity http) throws Exception {

    http.csrf().disable()
      .formLogin()
      .loginPage("/mylogin.html")
      .and()
      .authorizeRequests().anyRequest().authenticated();
      
  }
}

2.3 mylogin.html



 
   
   Title
 
 
  

標(biāo)準(zhǔn)登錄頁(yè)面

  

表單登錄

                                                   登錄           
用戶名:
密碼:
 

3.訪問(wèn)自定義登錄頁(yè)面(注意有重定向過(guò)多問(wèn)題)

啟動(dòng)項(xiàng)目 并且直接訪問(wèn)

http://localhost:8080

會(huì)發(fā)現(xiàn)瀏覽器報(bào) 重定向次數(shù)過(guò)多,這是什么原因呢?

這是因?yàn)?我們上面配置了 loginPage("/mylogin.html") ,但是這個(gè)路徑它沒(méi)有被允許訪問(wèn),也就是當(dāng)重定向到/mylogin.html路徑后,還是會(huì)因?yàn)樾枰J(rèn)證 被重定向道 /mylogin.html 導(dǎo)致該錯(cuò)誤

使用SpringSecurity怎么自定義一個(gè)表單登錄功能

4.允許登錄頁(yè)面路徑訪問(wèn) antMatchers("/mylogin.html").permitAll()

只需要在配置的地方 添加 .antMatchers("/mylogin.html").permitAll() 允許這個(gè)路徑

  http.csrf().disable()
      .formLogin()
      .loginPage("/mylogin.html")
      .and()
      .authorizeRequests()
      .antMatchers("/mylogin.html").permitAll()
      .anyRequest().authenticated();

再次訪問(wèn),我們自定義的表單就顯示出來(lái)了(忽略樣式。。。)

使用SpringSecurity怎么自定義一個(gè)表單登錄功能

此時(shí)我們輸入用戶名 user 密碼 : 控制臺(tái)打印

Using generated security password: 6bf253eb-c785-42b6-b147-b0fe2971586e

發(fā)現(xiàn)又跳轉(zhuǎn)到 /mylogin.html頁(yè)面,這是因?yàn)?當(dāng)我們配置了 loginPage("/mylogin.html")之后 處理表單登錄的過(guò)濾器它所攔截的請(qǐng)求就不再是 /login (默認(rèn)是 /login) ,攔截的登錄請(qǐng)求地址變成了 和 loginPage一樣的 mylogin.html

此時(shí)如果將 action地址改成 /mylogin.html ,那么再登錄 就能成功

5.配置自定義登錄接口路徑 loginProcessingUrl

由于我們上面配置了 loginPage ,則對(duì)應(yīng)登錄接口路徑也變成了 loginPage所配置的 mylogin.html,但是當(dāng)我們不想使用這個(gè)作為接口路徑的時(shí)候,可以通過(guò)以下配置來(lái)修改

通過(guò) loginProcessingUrl 類配置處理登錄請(qǐng)求的路徑

 http.csrf().disable()
      .formLogin()
      .loginPage("/mylogin.html")
      .loginProcessingUrl("/auth/login")
      .and()
      .authorizeRequests()
      .antMatchers("/mylogin.html").permitAll()
      .anyRequest().authenticated();

記得和action 對(duì)應(yīng)

上述就是小編為大家分享的使用SpringSecurity怎么自定義一個(gè)表單登錄功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


新聞標(biāo)題:使用SpringSecurity怎么自定義一個(gè)表單登錄功能-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://weahome.cn/article/eopis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部