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

Spring Security使用Lambda DSL配置流程詳解

 更新時間:2023年02月15日 11:27:47   作者:自牧君  
Spring Security 5.2 對 Lambda DSL 語法的增強,允許使用lambda配置HttpSecurity、ServerHttpSecurity,重要提醒,之前的配置方法仍然有效。lambda的添加旨在提供更大的靈活性,但是用法是可選的。讓我們看一下HttpSecurity的lambda配置與以前的配置樣式相比

1. 概述

在 Spring Security 5.2 中增強了 DSL 的功能:允許使用 Lambda 表達式來配置 HTTP security 。

需要注意的是:先前版本的配置風(fēng)格仍然是有效的且受支持的。Spring 官方額外新增 Lambda 表達式是為了提高代碼的靈活性,只是一個可選的用法。

下面讓我們看一下 Lambda 表達式配置 HTTP security 和先前的配置風(fēng)格的對比。

2. 新老配置風(fēng)格對比

Lambda風(fēng)格

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests(authorizeRequests ->
                authorizeRequests
                    .antMatchers("/blog/**").permitAll()
                    .anyRequest().authenticated()
            )
            .formLogin(formLogin ->
                formLogin
                    .loginPage("/login")
                    .permitAll()
            )
            .rememberMe(withDefaults());
    }
}

等效的舊配置風(fēng)格

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/blog/**").permitAll()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
            .rememberMe();
    }
}

對比上述兩種配置風(fēng)格,你會注意到一些關(guān)鍵的不同點:

在 Lambda 風(fēng)格中,不再需要通過 .and() 方法來串聯(lián)配置項。

在調(diào)用 Lambda 方法后,HttpSecurity 對象 http 會自動返回以繼續(xù)執(zhí)行進一步的配置。

方法 withDefaults() 可以使用 Spring Security 提供的默認值啟用安全功能。這是 Lambda 表達式 it -> {} 的快捷方式。

3. WebFlux Security

此外,你還可以使用 Lambda 表達式來配置 WebFlux security ,配置方式與上面基本相似。

舉個例子:

@EnableWebFluxSecurity
public class SecurityConfig {
    @Bean
    SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
        http
            .authorizeExchange(exchanges ->
                exchanges
                    .pathMatchers("/blog/**").permitAll()
                    .anyExchange().authenticated()
            )
            .httpBasic(withDefaults())
            .formLogin(formLogin ->
                formLogin
                    .loginPage("/login")
            );
        return http.build();
    }
}

4. Lambda DSL的目標

Lambda DSL 被開發(fā)出來,是為了完成以下的目的:

  • 自動縮進以提高配置的可讀性。
  • 不再需要使用 .and() 方法來串聯(lián)配置項。
  • Spring Security DSL 與其他 Spring DSLs (例如 Spring Integration 和 Spring Cloud Gateway ) 擁有相似的配置風(fēng)格。

到此這篇關(guān)于Spring Security使用Lambda DSL配置流程詳解的文章就介紹到這了,更多相關(guān)Spring Security Lambda DSL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql數(shù)據(jù)庫忘記密碼時如何修改

    mysql數(shù)據(jù)庫忘記密碼時如何修改

    本文主要介紹了mysql數(shù)據(jù)庫忘記密碼時如何修改的步驟方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • grpc-java?k8s下的負載均衡處理方法

    grpc-java?k8s下的負載均衡處理方法

    這篇文章主要為大家介紹了grpc-java?k8s下的負載均衡的處理方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-02-02
  • RxJava+Retrofit+Mvp實現(xiàn)購物車

    RxJava+Retrofit+Mvp實現(xiàn)購物車

    這篇文章主要為大家詳細介紹了RxJava+Retrofit+Mvp實現(xiàn)購物車功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • MyBatis使用<foreach>標簽報錯問題及解決

    MyBatis使用<foreach>標簽報錯問題及解決

    這篇文章主要介紹了MyBatis使用<foreach>標簽報錯問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解如何使用MyBatis簡化JDBC開發(fā)

    詳解如何使用MyBatis簡化JDBC開發(fā)

    JavaEE?企業(yè)級?Java?項目中的經(jīng)典三層架構(gòu)為表現(xiàn)層,業(yè)務(wù)層和持久層.MyBatis?對?JDBC?代碼進行了封裝,作為一款優(yōu)秀的持久層框架,專門用于簡化JDBC開發(fā).本文主要介紹一下如何使用MyBatis簡化JDBC開發(fā),需要的可以參考一下
    2023-01-01
  • SpringMVC中Model和ModelAndView的EL表達式取值方法

    SpringMVC中Model和ModelAndView的EL表達式取值方法

    下面小編就為大家分享一篇SpringMVC中Model和ModelAndView的EL表達式取值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 詳解如何使用Mybatis的攔截器

    詳解如何使用Mybatis的攔截器

    MyBatis?攔截器是?MyBatis?提供的一個強大特性,它允許你在?MyBatis?執(zhí)行其核心邏輯的關(guān)鍵節(jié)點插入自定義邏輯,從而改變?MyBatis?的默認行為,本文給大家詳細介紹了如何使用Mybatis的攔截器,需要的朋友可以參考下
    2024-03-03
  • 淺析Java中的 new 關(guān)鍵字

    淺析Java中的 new 關(guān)鍵字

    java中的new關(guān)鍵字是實例化對象,接下來本文通過一個案例給大家講解Java中的 new 關(guān)鍵字,感興趣的朋友可以參考下
    2016-08-08
  • string boot 與 自定義interceptor的實例講解

    string boot 與 自定義interceptor的實例講解

    下面小編就為大家分享一篇string boot 與 自定義interceptor的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 鴻蒙HarmonyOS App開發(fā)造輪子之自定義圓形圖片組件的實例代碼

    鴻蒙HarmonyOS App開發(fā)造輪子之自定義圓形圖片組件的實例代碼

    這篇文章主要介紹了鴻蒙HarmonyOS App開發(fā)造輪子之自定義圓形圖片組件,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01

最新評論

徐闻县| 辽宁省| 司法| 连云港市| 东丽区| 陆河县| 广水市| 石台县| 玉树县| 大同市| 哈巴河县| 永登县| 本溪| 天等县| 阿鲁科尔沁旗| 托里县| 正蓝旗| 碌曲县| 枞阳县| 湟中县| 东莞市| 镇沅| 响水县| 松潘县| 获嘉县| 凤冈县| 宁阳县| 张家口市| 额尔古纳市| 金坛市| 黑龙江省| 二手房| 广宁县| 霍邱县| 扶风县| 蒙城县| 马山县| 托里县| 宁远县| 云霄县| 报价|