如果不添加以下内容,Spring Security基本身份验证将起作用
@Configuration
@EnableWebSecurity
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
}
}
在我添加此代码段后,没有授权标头的GET请求将获得响应,而我希望响应中显示未授权。在添加此配置之前,GET响应将得到401
。
唯一的变化是上述课程;没有其他改变。
答案 0 :(得分:0)
尝试添加.anyRequest().authenticated()
,这意味着所有请求都必须经过身份验证。如果您想添加豁免,请添加诸如.antMatchers(HttpMethod.GET, "/", "/js/**", "/css/*", "/images/**").permitAll()
之类的内容,否则将无法通过身份验证。
示例代码:
@Configuration
@EnableWebSecurity
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable().authorizeRequests()
.antMatchers(HttpMethod.GET, "/", "/js/**", "/css/*", "/images/**").permitAll()
.anyRequest().authenticated();
}
}