我目前正在开发一个使用 FosUserBundle 并维护本地用户数据库的应用程序。用例如下:
用户尝试登录并在登录时验证凭据
在成功的情况下,用户继续浏览该站点
如果出现上述故障:
凭据根据单点登录服务进行身份验证,如果凭据正确,则在本地创建用户,登录并继续导航站点。
如果单点登录不成功,则会向用户显示默认的密码错误屏幕
我的问题是我会在 Symfony 的什么地方添加这个逻辑?
这是我到目前为止所尝试的:
我试图看看覆盖 loginAction 但是在进一步的研究中我读到它可能不起作用,因为它只是显示登录表单。
我查看了以下 stackoverflow 问题: 覆盖身份验证失败处理程序 - Symfony2
我也在 Symfony 文档中读到了这个:http: //symfony.com/doc/current/cookbook/security/custom_authentication_provider.html
我不清楚在我的用例中是否应该使用 2 或 3 中的方法。任何提示或代码示例将不胜感激。