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