我只是根据2.4版创建一个新的Symfony2项目。
使用http://symfony.com/blog/new-in-symfony-2-4-customize-the-security-features-with-ease我创建了一个UserProvider和Authenticator。
根据提供的示例authenticateToken()
应返回正确的令牌或throw new AuthenticationException('message')
。在第一种情况下,当用户可以进行身份验证时 - 一切正常但是当抛出异常时 - 服务器没有给401或403只有常规的auth错误但是给了500 A Token was not found in the SecurityContext!
我认为这是一个新的实现错误,我是对的吗?
答案 0 :(得分:0)
好的,文档在某些情况下非常盲目。这完全是关于entry_point或设置FailureListener。
你需要记住的事情:
access_control
security.yml
AuthenticationEntryPointInterface
作为entry_point
的服务
/或/ AuthenticationFailureHandlerInterface
中实施Authenticator
才能回复您自己的例外情况。就我而言 - 解决方案#3是合适的。