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

SpringSecurity 認(rèn)證、注銷、權(quán)限控制功能(注銷、記住密碼、自定義登入頁)

 更新時間:2025年03月19日 11:03:34   作者:Y小夜  
SpringSecurity是一個強(qiáng)大的Java框架,用于保護(hù)應(yīng)用程序的安全性,它提供了一套全面的安全解決方案,本文給大家介紹SpringSecurity認(rèn)證、注銷、權(quán)限控制和注銷、記住密碼、自定義登入頁等知識總結(jié),感興趣的朋友一起看看吧

??簡介

在 Web 開發(fā)中,安全一直是非常重要的一個方面。安全雖然屬于應(yīng)用的非功能性需求,但是應(yīng)該在應(yīng)用 開發(fā)的初期就考慮進(jìn)來。如果在應(yīng)用開發(fā)的后期才考慮安全的問題,就可能陷入一個兩難的境地:一方 面,應(yīng)用存在嚴(yán)重的安全漏洞,無法滿足用戶的要求,并可能造成用戶的隱私數(shù)據(jù)被攻擊者竊?。涣硪?方面,應(yīng)用的基本架構(gòu)已經(jīng)確定,要修復(fù)安全漏洞,可能需要對系統(tǒng)的架構(gòu)做出比較重大的調(diào)整,因而 需要更多的開發(fā)時間,影響應(yīng)用的發(fā)布進(jìn)程。因此,從應(yīng)用開發(fā)的第一天就應(yīng)該把安全相關(guān)的因素考慮 進(jìn)來,并在整個應(yīng)用的開發(fā)過程中。

官網(wǎng):Spring Security :: Spring Security

Spring Security是一個Java框架,用于保護(hù)應(yīng)用程序的安全性。它提供了一套全面的安全解決方案,包括身份驗證、授權(quán)、防止攻擊等功能。Spring Security基于過濾器鏈的概念,可以輕松地集成到任何基于Spring的應(yīng)用程序中。它支持多種身份驗證選項和授權(quán)策略,開發(fā)人員可以根據(jù)需要選擇適合的方式。此外,Spring Security還提供了一些附加功能,如集成第三方身份驗證提供商和單點(diǎn)登錄,以及會話管理和密碼編碼等。總之,Spring Security是一個強(qiáng)大且易于使用的框架,可以幫助開發(fā)人員提高應(yīng)用程序的安全性和可靠性。

??認(rèn)識Spring Security

以實現(xiàn)強(qiáng)大的 Web 安全控制,對于安全控制,我們僅需要引入 spring-boot-starter-security 模塊,進(jìn)行少量的配置,即可實現(xiàn)強(qiáng)大的安全管理!

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>

記住幾個類:

  • WebSecurityConfigurerAdapter: 自定義Security策略
  • AuthenticationManagerBuilder:自定義認(rèn)證策略
  • @EnableWebSecurity:開啟WebSecurity模式

Spring Security的兩個主要目標(biāo)是 “認(rèn)證” 和 “授權(quán)”(訪問控制)。

??“認(rèn)證”(Authentication)

  • 身份驗證是關(guān)于驗證您的憑據(jù),如用戶名/用戶ID和密碼,以驗證您的身份。
  • 身份驗證通常通過用戶名和密碼完成,有時與身份驗證因素結(jié)合使用。

??“授權(quán)” (Authorization)

  • 授權(quán)發(fā)生在系統(tǒng)成功驗證您的身份后,最終會授予您訪問資源(如信息,文件,數(shù)據(jù)庫,資金,位置, 幾乎任何內(nèi)容)的完全權(quán)限。
  • 這個概念是通用的,而不是只在Spring Security 中存在。

??權(quán)限控制和注銷

開啟自動配置的注銷的功能

//定制請求的授權(quán)規(guī)則
@Override
protected void configure(HttpSecurity http) throws Exception {
//....
//開啟自動配置的注銷的功能
// /logout 注銷請求
http.logout();
}

我們想讓他注銷成功后,依舊可以跳轉(zhuǎn)到首頁

導(dǎo)入依賴:

<!-- https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleafextras-springsecurity4 -->
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>

如果注銷404 了,就是因為它默認(rèn)防止 csrf 跨站請求偽造,因為會產(chǎn)生安全問題,我們可以將請求 改為post 表單提交,或者在 spring security 中關(guān)閉 csrf 功能;我們試試:在 配置中增加

http.csrf().disable();//關(guān)閉csrf功能:跨站請求偽造,默認(rèn)只能通過post方式提交logout
請求
http.logout().logoutSuccessUrl("/");

CSRF(Cross-site request forgery,跨站請求偽造)攻擊是一種惡意利用行為,其核心在于攻擊者通過技術(shù)手段欺騙用戶瀏覽器去訪問一個已經(jīng)認(rèn)證過的網(wǎng)站,并執(zhí)行如發(fā)郵件、發(fā)送消息或財產(chǎn)操作等。CSRF與XSS(跨站腳本)不同,后者是利用站點(diǎn)內(nèi)的信任用戶,而CSRF則是假冒受信任用戶對受信任網(wǎng)站進(jìn)行請求。

??記住密碼的功能

??開啟記住密碼

//定制請求的授權(quán)規(guī)則
@Override
protected void configure(HttpSecurity http) throws Exception {
//。。。。。。。。。。。
//記住我
http.rememberMe();
}

??實現(xiàn)原理

我們可以查看瀏覽器的 cookie

點(diǎn)擊注銷的時候,可以發(fā)現(xiàn), spring security 幫我們自動刪除了這個 cookie

結(jié)論:登錄成功后,將cookie發(fā)送給瀏覽器保存,以后登錄帶上這個cookie,只要通過檢查就可以 免登錄了。如果點(diǎn)擊注銷,則會刪除這個cookie。

??定制登錄頁

現(xiàn)在這個登錄頁面都是spring security 默認(rèn)的,怎么樣可以使用我們自己寫的Login界面

在剛才的登錄頁配置后面指定 loginpage

http.formLogin().loginPage("/toLogin");

配置接收登錄的用戶名和密碼的參數(shù)

http.formLogin()
.usernameParameter("username")
.passwordParameter("password")
.loginPage("/toLogin")
.loginProcessingUrl("/login"); // 登陸表單提交請求

到此這篇關(guān)于SpringSecurity 認(rèn)證、注銷、權(quán)限控制和注銷、記住密碼、自定義登入頁等知識總結(jié)的文章就介紹到這了,更多相關(guān)SpringSecurity認(rèn)證、注銷、權(quán)限控制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解application.properties和application.yml文件的區(qū)別

    詳解application.properties和application.yml文件的區(qū)別

    這篇文章主要介紹了詳解application.properties和application.yml文件的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Java用for循環(huán)Map詳細(xì)解析

    Java用for循環(huán)Map詳細(xì)解析

    本篇文章主要介紹了Java用for循環(huán)Map,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • Java 數(shù)組元素倒序的三種方式(小結(jié))

    Java 數(shù)組元素倒序的三種方式(小結(jié))

    這篇文章主要介紹了Java 數(shù)組元素倒序的三種方式(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Spring Cloud Feign組件實例解析

    Spring Cloud Feign組件實例解析

    這篇文章主要介紹了Spring Cloud Feign組件實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java中的鎖分類的詳細(xì)介紹

    Java中的鎖分類的詳細(xì)介紹

    這篇文章主要介紹了Java中的鎖分類的詳細(xì)介紹,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java大數(shù)據(jù)處理的核心技術(shù)MapReduce框架

    Java大數(shù)據(jù)處理的核心技術(shù)MapReduce框架

    MapReduce是一種分布式計算框架,適用于大規(guī)模的數(shù)據(jù)處理。它將大數(shù)據(jù)分成多個小數(shù)據(jù)塊,通過Map和Reduce兩個階段對數(shù)據(jù)進(jìn)行處理和分析。MapReduce框架具有可靠、高效、可擴(kuò)展等特點(diǎn),已經(jīng)成為大數(shù)據(jù)處理的核心技術(shù)
    2023-05-05
  • SpringBoot啟動security后如何關(guān)閉彈出的/login頁面

    SpringBoot啟動security后如何關(guān)閉彈出的/login頁面

    這篇文章主要介紹了SpringBoot啟動security后如何關(guān)閉彈出的login頁面問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java基礎(chǔ)之NIO介紹及使用

    java基礎(chǔ)之NIO介紹及使用

    這篇文章主要介紹了java基礎(chǔ)之NIO介紹及使用,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • git stash 和unstash的使用操作,git unstash failed

    git stash 和unstash的使用操作,git unstash failed

    這篇文章主要介紹了git stash 和unstash的使用操作,git unstash failed,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Spring?Boot3?跨域配置?Cors的方式

    Spring?Boot3?跨域配置?Cors的方式

    這篇文章主要介紹了Spring?Boot3?跨域配置?Cors,通過使用CORS,開發(fā)人員可以控制哪些外部網(wǎng)頁可以訪問他們的資源,從而提高應(yīng)用程序的安全性,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01

最新評論