【发布时间】:2019-09-12 23:23:43
【问题描述】:
我是 Spring Boot 新手,一直致力于 Spring Security。我有一些暴露的 REST API 端点,在 Postman 上进行测试时可以达到这些端点。但是,一旦我添加了 spring-security 和 enablewebsecurity,我就无法访问端点,因为我收到 401 错误。
我尝试使用 web.ignore.antMatcher(HttpMethods.GET) 函数覆盖配置函数,但问题仍然存在。
@EnableWebSecurity
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter
{
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception
{
httpSecurity
.authorizeRequests()
.anyRequest()
.permitAll()
.and()
.httpBasic();
httpSecurity.csrf().disable();
}
}
预期结果:点击“/welcome”时返回的字符串。这在从依赖项中删除 spring security 并删除带有上述代码的配置文件时有效。
实际结果:401 错误。消息:未经授权。错误:未经授权
【问题讨论】:
-
你确定
SecurityConfiguration可以被spring扫描到吗? -
你能在 Github 上做一个最小的概念验证项目吗?
-
httpBasic()是做什么的? ;) -
@AlexanderPavlov httpBasic 允许使用基本身份验证,因此它允许我们发送用户名和密码来对我们进行身份验证。基本身份验证是 base64 编码
-
@EugenCovaci github.com/vj6978/SpringSecurity
标签: spring-boot spring-security