AuthenticationEntryPoint

AuthenticationEntryPoint

我已经启动了一个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项目!为什么我会收到未经授权的例外。

最佳答案

您没有配置身份验证(表单登录,HTTP Basic,...),因此使用了默认的AuthenticationEntryPoint,请参阅Spring Security API here

设置要使用的AuthenticationEntryPoint。

如果未指定authenticationEntryPoint(AuthenticationEntryPoint),则将使用defaultAuthenticationEntryPointFor(AuthenticationEntryPoint,RequestMatcher)。第一个AuthenticationEntryPoint将用作默认值,因为未找到匹配项。

如果未提供,则默认为Http403ForbiddenEntryPoint。
您可以将AuthenticationEntryPoint设置为@ksokol编写的,也可以配置身份验证来定义AuthenticationEntryPoint。

10-06 09:19