我将简单的Spring Restful API用于以下Web安全配置。但是向/logout
发出POST / GET请求并没有帮助,用户仍然会通过身份验证(因为它仍然可以访问我接受/greeting
请求的GET
端点。
我在先前在SO上发布的答案中尝试了不同的方法(例如,添加invalidateHTTPSession(true)
,发出POST请求而不是GET请求),但它仍然无法正常工作。
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@EnableWebSecurity
@Configuration
class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().anyRequest().fullyAuthenticated().and().
httpBasic().and().
logout().logoutUrl("/logout").invalidateHttpSession(true).logoutSuccessUrl("/greeting").permitAll().and().
csrf().disable();
}
}