我已经启动了一个Spring Boot 应用程序。我添加了一个像这样的休息控制器
@RestController
public class EmailController {
@RequestMapping(value = "/2", method = RequestMethod.GET)
public int getNumber() {
return 2;
}
}
当我调用url http://localhost:8080/2时,我得到一个401异常。
{"timestamp":1498409208660,"status":401,"error":
"Unauthorized","message":"Full authentication is
required to access this resource", "path":"/2"}
我绝对没有安全设置,什么都没有。这是一个干净的Spring Boot 项目!为什么我收到一个未经授权的异常。
5条答案
按热度按时间7cjasjjr1#
您未配置任何身份验证(表单登录、HTTP基本等),因此使用默认的AuthenticationEntryPoint,请参阅此处的Spring Security API:
设置要使用的身份验证入口点。
如果未指定authenticationEntryPoint(AuthenticationEntryPoint),则将使用defaultAuthenticationEntryPointFor(AuthenticationEntryPoint,RequestMatcher)。如果未找到匹配项,则将使用第一个AuthenticationEntryPoint作为默认值。
如果未提供,则默认值为Http 403 ForbiddenEntryPoint。您可以将AuthenticationEntryPoint设置为@ksokol编写的值或配置身份验证,这将定义AuthenticationEntryPoint。
bpzcxfmw2#
在主类中添加@EnableWebSecurity注解,它将忽略默认安全性来访问该应用程序。
示例代码如下:
vnzz0bqm3#
对于寻找解决方案的人。我把这个添加到了我的application.yml中
yjghlzjz4#
检查
pom.xml
文件中是否不包含依赖项spring-boot-starter-security
。gwo2fgha5#
因为您将Spring Security Dependency添加到了项目中,但没有对其进行配置。