最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

??簡介

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

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

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

??認識Spring Security

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

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

記住幾個類:

  • WebSecurityConfigurerAdapter: 自定義Security策略
  • AuthenticationManagerBuilder:自定義認證策略
  • @EnableWebSecurity:開啟WebSecurity模式

Spring Security的兩個主要目標是 “認證” 和 “授權(quá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)到首頁

導入依賴:

<!-- 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 了,就是因為它默認防止 csrf 跨站請求偽造,因為會產(chǎn)生安全問題,我們可以將請求 改為post 表單提交,或者在 spring security 中關(guān)閉 csrf 功能;我們試試:在 配置中增加

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

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

??記住密碼的功能

??開啟記住密碼

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

??實現(xiàn)原理

我們可以查看瀏覽器的 cookie

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

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

??定制登錄頁

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

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

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

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

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

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

相關(guān)文章

  • java題解Leetcode 8字符串轉(zhuǎn)換整數(shù)

    java題解Leetcode 8字符串轉(zhuǎn)換整數(shù)

    這篇文章主要為大家介紹了java題解Leetcode 8字符串轉(zhuǎn)換整數(shù)實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Spring?AOP實現(xiàn)聲明式事務機制源碼解析

    Spring?AOP實現(xiàn)聲明式事務機制源碼解析

    這篇文章主要為大家介紹了Spring?AOP實現(xiàn)聲明式事務機制源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • springboot動態(tài)加載Echarts柱狀圖

    springboot動態(tài)加載Echarts柱狀圖

    這篇文章主要為大家詳細介紹了springboot動態(tài)加載Echarts柱狀圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Java?ASM使用logback日志級別動態(tài)切換方案展示

    Java?ASM使用logback日志級別動態(tài)切換方案展示

    這篇文章主要介紹了Java?ASM使用logback日志級別動態(tài)切換方案展示,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • Spring框架讀取property屬性文件常用5種方法

    Spring框架讀取property屬性文件常用5種方法

    這篇文章主要介紹了Spring框架讀取property屬性文件常用5種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java中的6種請求方式的示例詳解

    Java中的6種請求方式的示例詳解

    這篇文章主要詳細介紹了Java中的6種請求方式,@RequestParam、@PathVariable、@MatrixVariable、@RequestBody、@RequestHeader和@CookieValue的基本知識、詳細分析以及示例,需要的朋友可以參考下
    2024-07-07
  • Java實現(xiàn)簡單學生信息管理系統(tǒng)

    Java實現(xiàn)簡單學生信息管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • springboot中redis操作Hash踩坑解決

    springboot中redis操作Hash踩坑解決

    本文主要介紹了springboot中redis操作Hash踩坑解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06
  • mybatis向數(shù)據(jù)庫里插入記錄后自動返回記錄ID問題

    mybatis向數(shù)據(jù)庫里插入記錄后自動返回記錄ID問題

    本文介紹了在接手項目時,對一個業(yè)務處理邏輯進行重構(gòu)和性能優(yōu)化的經(jīng)歷,作者提到,性能問題可能是導致bug的一個重要原因,作者提到,在以前的.NET項目中,插入記錄后系統(tǒng)會自動刷新實體類,為其中的主鍵ID賦值,而SpringBoot項目mybatis也可以通過指定主鍵來優(yōu)化代碼
    2025-01-01
  • 從匯編碼分析java對象的創(chuàng)建過程(推薦)

    從匯編碼分析java對象的創(chuàng)建過程(推薦)

    這篇文章主要介紹了從匯編碼分析java對象的創(chuàng)建過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03

最新評論

西华县| 许昌市| 平阳县| 阿鲁科尔沁旗| 固原市| 禹州市| 邛崃市| 新民市| 昌乐县| 英超| 土默特左旗| 祥云县| 东城区| 旬阳县| 通化县| 科技| 白朗县| 雷波县| 保康县| 高陵县| 荥阳市| 图们市| 渝中区| 凤阳县| 石泉县| 辰溪县| 龙岩市| 介休市| 谷城县| 旅游| 崇州市| 唐海县| 鲁甸县| 鄂托克前旗| 兰溪市| 会东县| 阿荣旗| 乐陵市| 承德县| 老河口市| 永吉县|