Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 即使在资源不存在的情况下,Spring Boot和KeyClope-401状态代码也是如此_Java_Spring_Spring Boot_Spring Security_Keycloak - Fatal编程技术网

Java 即使在资源不存在的情况下,Spring Boot和KeyClope-401状态代码也是如此

Java 即使在资源不存在的情况下,Spring Boot和KeyClope-401状态代码也是如此,java,spring,spring-boot,spring-security,keycloak,Java,Spring,Spring Boot,Spring Security,Keycloak,我的KeyClope和Spring引导配置有问题。当我尝试执行对不存在的资源的请求时,我收到401HTTP状态。它是默认的keydepage配置吗?当url不存在时(某些过滤顺序?),或者这是正确的行为时,是否可以覆盖它使其具有404未找到状态?谢谢你提供任何线索。下面是我的KeyClope配置: @KeycloakConfiguration public class SecurityConfiguration extends KeycloakWebSecurityConfigurerAdapt

我的KeyClope和Spring引导配置有问题。当我尝试执行对不存在的资源的请求时,我收到401HTTP状态。它是默认的keydepage配置吗?当url不存在时(某些过滤顺序?),或者这是正确的行为时,是否可以覆盖它使其具有404未找到状态?谢谢你提供任何线索。下面是我的KeyClope配置:

@KeycloakConfiguration
public class SecurityConfiguration extends KeycloakWebSecurityConfigurerAdapter {

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) {
        auth.authenticationProvider(keycloakAuthenticationProvider());
    }

    @Bean
    public KeycloakSpringBootConfigResolver keycloakSpringBootConfigResolver() {
        return new KeycloakSpringBootConfigResolver();
    }

    @Override
    protected SessionAuthenticationStrategy sessionAuthenticationStrategy() {
        return new RegisterSessionAuthenticationStrategy(new SessionRegistryImpl());
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        super.configure(http);
        http.authorizeRequests()
                .antMatchers("/api/users")
                .permitAll()
                .anyRequest()
                .fullyAuthenticated();
    }
}
您可以定义“拒绝列表”URL并使用
.antMatchers(${Your_Deny_List}).fullyaauthenticated()
而不是

.anyRequest()
            .fullyAuthenticated();

当您执行此操作时,spring安全性仅保护您的“拒绝列表”,如果url不存在,您将收到404。

当找不到资源时,您应该返回404。