Symfony2 提供了一个非常简单的用户登录工具。实际上,该框架会为您完成所有安全控制。如官方文档所示,可以使用控制器(SecurityController)来加载登录表单页面。然后,关联一个路由来登录检查用户通过登录表单提供的输入。如果登录正确,则将用户重定向到主页(或另一个);否则,用户必须重新输入用户名和密码。
由于我需要在会话中从数据库中加载一些用户首选项,我想知道一旦登录检查确定用户登录的正确性,是否有办法执行这样的功能。任何想法?
您必须自己编写AuthenticationHandler
将实现以下两个接口:
class AuthenticationHandler implements AuthenticationSuccessHandlerInterface
在该处理程序中,您应该定义方法onAuthenticationSuccess()
在此方法中,您可以做任何您需要的事情。
不要忘记也设置你的听众security.yml
firewalls:
main:
....
your_form_login:
...
success_handler: your.authentication_handler
还要检查这个有用的文档