Sping Boot 3.1 + Spring security 6.1 authorizeHttp Requests全部不工作

kokeuurv  于 12个月前  发布在  Spring
关注(0)|答案(1)|浏览(184)

基本上每次我做一个Sping Boot 微服务时,我都要浪费时间尝试用新的API更改来配置应用程序。7个月前,他们弃用了WebConfigurerAdapter,我不得不花4天时间尝试让它工作。上周我开始开发一个新的服务,并希望允许所有路由(现在),但官方文档中使用的配置不起作用。
我的Config.java
`

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.web.SecurityFilterChain;

@EnableWebSecurity(debug = true)
@Configuration
public class SecurityConfig {
    @Bean
    SecurityFilterChain web(HttpSecurity http) throws Exception {
        http
                .csrf(csrf -> csrf.disable())
                .cors(cors -> cors.disable())
                .formLogin(Customizer.withDefaults())
                .sessionManagement(session ->
                        session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                )
                .authorizeHttpRequests(authorize -> authorize
                        .anyRequest().permitAll()
                );
        return http.build();
    }
}

字符串
`
我还没有找到任何新的lamda风格配置的在线代码示例,这不起作用。
这是我7个月前的工作配置:

@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
    http.csrf()
            .disable()
            .cors()
            .disable();
    http.sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
            .and()
            .authorizeRequests()
            .anyRequest()
            //.authenticated()
            .permitAll();
    return http.build();
}


我没有真正得到的问题在这里,但它感觉像Bean是没有被创建在所有.当我试图记录的东西内的方法没有工作和@EnableWebSecurity(debug = true)不打印任何东西到控制台.

wpcxdonn

wpcxdonn1#

我也有这个问题,解决它。工作代码:Sping Boot :3.1.5

@Configuration
@EnableWebSecurity
@EnableMethodSecurity(securedEnabled = true)
public class SecurityConfig {
@Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
        return httpSecurity
                .csrf(AbstractHttpConfigurer::disable)
                .cors(AbstractHttpConfigurer::disable)
                .authorizeHttpRequests(auth -> auth
                        .anyRequest().permitAll()
                )
                .sessionManagement(sess -> sess.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
                .build();
    }
}

字符串

相关问题