2012-08-10 55 views
1

Symfony2为用户登录提供了一个非常简单的工具。实际上,该框架为您执行所有安全控制。如official doc所示,控制器(SecurityController)可用于加载登录表单页面。然后,一条路线与登录检查相关联,用户通过登录表单提供的输入。如果登录是正确的,用户将被重定向到主页(或另一个)。否则,用户必须重新输入用户名和密码。登录后签入验证码Symfony2

由于我需要从数据库中加载会话中的某些用户首选项,我想知道在登录检查确定用户登录的正确性后是否有执行此类功能的方法。 有什么想法?

回答

3

你必须写自己的AuthenticationHandler这将实现以下两个接口:

class AuthenticationHandler implements AuthenticationSuccessHandlerInterface 

在该处理程序,你应该定义方法onAuthenticationSuccess()

在此方法中,你可以做任何你需要的。

也不要忘记设置你的听众在security.yml

firewalls: 
    main: 
     .... 
     your_form_login: 
      ... 
      success_handler: your.authentication_handler 

检查也是这个useful doc

+2

好吧,我发现[这个很好的例子(http://blog.alterphp.com/2011 /10/set-up-authenticationsuccesshandler.html)。谢谢... – JeanValjean 2012-08-10 13:15:49

+0

是的,这个是好的:) – 2012-08-10 13:16:24