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

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

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

??簡(jiǎn)介

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

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

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

??認(rèn)識(shí)Spring Security

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

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

記住幾個(gè)類:

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

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

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

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

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

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

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

開(kāi)啟自動(dòng)配置的注銷的功能

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

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

導(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 了,就是因?yàn)樗J(rèn)防止 csrf 跨站請(qǐng)求偽造,因?yàn)闀?huì)產(chǎn)生安全問(wèn)題,我們可以將請(qǐng)求 改為post 表單提交,或者在 spring security 中關(guān)閉 csrf 功能;我們?cè)囋嚕涸?配置中增加

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

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

??記住密碼的功能

??開(kāi)啟記住密碼

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

??實(shí)現(xiàn)原理

我們可以查看瀏覽器的 cookie

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

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

??定制登錄頁(yè)

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

在剛才的登錄頁(yè)配置后面指定 loginpage

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

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

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

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

相關(guān)文章

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

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

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

    Spring?AOP實(shí)現(xiàn)聲明式事務(wù)機(jī)制源碼解析

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

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

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

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

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

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

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

    Java中的6種請(qǐng)求方式的示例詳解

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

    Java實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理系統(tǒng)

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

    springboot中redis操作Hash踩坑解決

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

    mybatis向數(shù)據(jù)庫(kù)里插入記錄后自動(dòng)返回記錄ID問(wèn)題

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

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

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

最新評(píng)論

大足县| 庆城县| 弥勒县| 兴和县| 广德县| 增城市| 金沙县| 荔波县| 周至县| 沁源县| 河曲县| 格尔木市| 文水县| 阜新市| 勃利县| 无棣县| 厦门市| 大余县| 安化县| 通河县| 华安县| 闸北区| 皮山县| 宜章县| 庆元县| 丰镇市| 天等县| 新民市| 布拖县| 温州市| 成安县| 郑州市| 乌苏市| 东阳市| 文化| 焦作市| 斗六市| 金溪县| 临潭县| 西平县| 绥德县|