Spring Security 允许所有不允许访问

问题描述 投票:0回答:1

我有一个方法,我想允许匿名和经过身份验证的访问。

    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http.authorizeHttpRequests(authorize -> authorize
                .requestMatchers("/user/register").permitAll()
                .anyRequest().authenticated());
        http.httpBasic(Customizer.withDefaults());
        http.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS));
        http.csrf(customizer -> customizer.disable());
        http.cors(customizer -> customizer.disable());
        return http.build();
    }

但是当我用 POST 方法注册新用户时。即使我使用 PermitAll() 作为“/user/register”端点,我仍然收到 401 错误

有人可以帮助我吗?

预期:我可以访问“/user/register”端点而不会出现 401 错误

java
1个回答
0
投票
  1. 如果您共享日志,但首先验证控制器中定义的路径“/user/register”是否正确,那就太好了。
  2. 您还可以指定 postmethod ".requestMatchers(HttpMethod.POST, "/user/register").permitAll()"。
  3. 您也可以尝试使用“http.anonymous();”显式允许匿名访问
© www.soinside.com 2019 - 2024. All rights reserved.