在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Spring Security 的關(guān)鍵配置

科技綠洲 ? 來源:Java技術(shù)指北 ? 作者:Java技術(shù)指北 ? 2023-09-30 16:10 ? 次閱讀

0. 概述

以前我們配置 SpringSecurity 的方式是繼承 WebSecurityConfigurerAdapter ,然后重寫其中的幾個方法:

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    //配置 Spring Security 中的過濾器鏈
    @Override
    void configure(HttpSecurity http) {}

    //配置路徑放行規(guī)則
    @Override
    void configure(WebSecurity web) {}

    //配置本地認證管理器
    @Override
    void configure(AuthenticationManagerBuilder auth) {}

    //配置全局認證管理器
    @Override
    AuthenticationManager authenticationManagerBean() {}
}

目前這個類已經(jīng)過期,雖然可以繼續(xù)使用,但是總覺得別扭。那么它的替代方案是什么?下面我來為大家一一介紹。

1. HttpSecurity

原寫法:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .antMatcher("/**")
        .authorizeRequests(authorize - > authorize
                .anyRequest().authenticated()
        );
}

新寫法:

@Bean
SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    return http
            .antMatcher("/**")
            .authorizeRequests(authorize - > authorize
                    .anyRequest().authenticated()
            )
            .build();
}

2. WebSecurity

原寫法:

@Override
public void configure(WebSecurity web) {
    web.ignoring().antMatchers("/ignore1", "/ignore2");
}

新寫法:

@Bean
public WebSecurityCustomizer webSecurityCustomizer() {
    return (web) - > web.ignoring().antMatchers("/ignore1", "/ignore2");
}

WebSecurity配置不常使用,如果需要忽略Url,推薦通過 HttpSecurity.authorizeHttpRequestspermitAll 來實現(xiàn)。

3. AuthenticationManager

原寫法:

@Autowired
private UserDetailsService userDetailsService;

@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
    return new BCryptPasswordEncoder();
}

//Local
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder());
}

//Global
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
    return super.authenticationManagerBean();
}

新寫法:

@Autowired
private UserDetailsService userDetailsService;

@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
    return new BCryptPasswordEncoder();
}

//Local
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    http
        .authorizeHttpRequests((authz) - > authz
            .anyRequest().authenticated()
        )
        .httpBasic(withDefaults())
        .authenticationManager(new CustomAuthenticationManager());
}

//Global
@Bean
public AuthenticationManager authenticationManager(HttpSecurity httpSecurity) throws Exception {
    return httpSecurity.getSharedObject(AuthenticationManagerBuilder.class)
            .userDetailsService(userDetailsService)
            .passwordEncoder(bCryptPasswordEncoder())
            .and()
            .build();
}

4. 心得

技術(shù)是不斷迭代的,我們作為技術(shù)人員,不能墨守成規(guī),要學會擁抱變化。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    340

    瀏覽量

    14343
  • 過濾器
    +關(guān)注

    關(guān)注

    1

    文章

    429

    瀏覽量

    19613
  • Spring Security
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5459
收藏 人收藏

    評論

    相關(guān)推薦

    java spring教程

    java spring教程理解Spring 實現(xiàn)原理掌握Spring IOC,AOP掌握Spring的基礎(chǔ)配置和用法熟練使用SSH開發(fā)項目
    發(fā)表于 09-11 11:09

    什么是java spring

    的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。Spring是一個容器,它包含并且管理系統(tǒng)對象的生命周期和
    發(fā)表于 09-11 11:16

    Spring Cloud Config公共配置解決方案

    Spring Cloud Config 多服務(wù)公共配置
    發(fā)表于 08-30 09:05

    spring log配置文件概述

    一份不知道抄了多少個地方的spring log配置文件
    發(fā)表于 10-12 15:00

    spring4的配置文件解析

    spring4配置文件詳解
    發(fā)表于 06-19 11:02

    MVC框架實例—Spring MVC配置

    本文旨在讓您在使用Spring MVC框架配置完成日常工作的時候更加輕松。根據(jù)Spring MVC框架配置,為基于本技術(shù)開發(fā)的項目提供一系列的解決方案。
    發(fā)表于 12-14 17:37 ?3174次閱讀

    基于Spring Security安全框架的聯(lián)通資源管理系統(tǒng)安全分析

    基于為聯(lián)通資源管系統(tǒng)提供一個方便可靠的安全框架的目的,采用面向切面編程(AOP)的Spring Security安全框架,結(jié)合了Spring框架提供的控制反轉(zhuǎn)技術(shù),最終創(chuàng)建了一個功能強大、安全可
    發(fā)表于 05-14 11:56 ?0次下載
    基于<b class='flag-5'>Spring</b> <b class='flag-5'>Security</b>安全框架的聯(lián)通資源管理系統(tǒng)安全分析

    Spring應(yīng)用 1 springXML配置說明

    Spring應(yīng)用 1 springXML配置說明 隱式對Spring容器注冊Process ? context:annotation-config / 為了在spring開發(fā)過程中,為
    發(fā)表于 01-13 12:20 ?389次閱讀

    spring配置方式詳細介紹

    SH框架風靡整個IT行業(yè),而作為該框架中的管理員,Spring負責管理其他的框架,協(xié)調(diào)各個部分的工作。那么今天小編就帶大家一起學習Spring配置方法。
    發(fā)表于 01-28 10:53 ?1427次閱讀

    微服務(wù)配置中心實戰(zhàn):Spring + MyBatis + Druid + Nacos

    在 結(jié)合場景談服務(wù)發(fā)現(xiàn)和配置 中我們講述了 Nacos 配置中心的三個典型的應(yīng)用場景,包括如何在 Spring Boot 中使用 Nacos 配置中心將數(shù)據(jù)庫連接信息管控起來,而在“原
    發(fā)表于 12-29 17:09 ?1104次閱讀
    微服務(wù)<b class='flag-5'>配置</b>中心實戰(zhàn):<b class='flag-5'>Spring</b> + MyBatis + Druid + Nacos

    Spring認證」Spring IoC 容器

    Spring 容器是 Spring 框架的核心容器將創(chuàng)建對象,將它們連接到配置中,并管理它們從創(chuàng)建到成熟的生命周期。Spring 容器使用 DI 來管理構(gòu)建應(yīng)用程序的組件。
    的頭像 發(fā)表于 06-28 13:27 ?764次閱讀
    「<b class='flag-5'>Spring</b>認證」<b class='flag-5'>Spring</b> IoC 容器

    Spring認證是什么?

    ,例如:配置、組件掃描、AOP、數(shù)據(jù)訪問和事務(wù)、REST、安全、自動配置、執(zhí)行器、 Spring boot測試等。
    的頭像 發(fā)表于 07-04 10:19 ?1320次閱讀
    <b class='flag-5'>Spring</b>認證是什么?

    為什么使用spring-authorization-server?

    官方原因:原先使用Spring Security OAuth,而該項目已經(jīng)逐漸被淘汰,雖然網(wǎng)上還是有不少該方案,但秉著技術(shù)要隨時代更新,從而使用spring-authorization-server
    的頭像 發(fā)表于 01-09 15:27 ?2201次閱讀

    Spring Boot 3.1 中如何整合Spring Security和Keycloak

    雖然Keycloak 團隊宣布了不再對Spring Security提供適配,但Spring Security長期以來一直為OAuth和OIDC提供強大的內(nèi)置支持。所以,只要我們理解
    的頭像 發(fā)表于 06-08 14:54 ?1124次閱讀
    <b class='flag-5'>Spring</b> Boot 3.1 中如何整合<b class='flag-5'>Spring</b> <b class='flag-5'>Security</b>和Keycloak

    Spring Boot配置加載相關(guān)知識

    有: --server.port:指定應(yīng)用程序的端口號。 --spring.profiles.active:設(shè)置應(yīng)用程序使用的配置文件中的環(huán)境配置。 --spring.config.a
    的頭像 發(fā)表于 10-07 15:47 ?490次閱讀
    主站蜘蛛池模板: 欧美激情第一欧美在线| 国产成人精品男人的天堂538| 激情五月综合婷婷| 天堂网中文在线最新版| 中文字幕一区二区三区 精品| 欧美性色xo影院69| 日本特黄色大片| 午夜狠狠操| 亚洲光棍天堂| 你懂在线| 色天天躁夜夜躁天干天干| 成人午夜剧场| 亚洲国产精品久久久久婷婷软件| 毛片在线看免费版| 久久国产美女| 色吧综合网| 免费人成在线观看网站品爱网日本| 高清毛片一区二区三区| 高清不卡毛片免费观看| 五月婷婷之婷婷| 伊人久久影视| 波多野结衣久久精品| 婷五月综合| 一本一本大道香蕉久在线精品| 亚洲综合一区二区三区| 明星三级国产免费播放| 青青伊人91久久福利精品| 亚洲色图27p| 免费观看四虎精品成人| 黄色片不卡| 99热手机在线观看| 欧美色综合高清视频在线| 欧美黑人巨大日本人又爽又色| 最近2018中文字幕免费看手机 | 色综合久久久久久久久久久| 午夜高清视频| 成人国产精品一级毛片了| 女人张开腿 让男人桶个爽 免费观看 | 4438x全国最大色| 日本理论午夜中文字幕第一页| 人人干日日操|