我在symfony 2.3中使用“remeber me”这个功能,可以实现功能,但是由于我另外一个程序也要和symfony实现同时登录,同时退出,不过那边程序没有接口给我调用类似“remeber me”功能,只有登录功能,所以,我想是不是可以监听sf的自动登录,然后在监听里面调用那边程序的登录接口,这样就可以实现同步登录,同步退出了
我在symfony 2.3中使用“remeber me”这个功能,可以实现功能,但是由于我另外一个程序也要和symfony实现同时登录,同时退出,不过那边程序没有接口给我调用类似“remeber me”功能,只有登录功能,所以,我想是不是可以监听sf的自动登录,然后在监听里面调用那边程序的登录接口,这样就可以实现同步登录,同步退出了
你可以监听 security.interactive_login 事件来介入每次登录成功的场景。
事件是SymfonyComponentSecurityHttpEventInteractiveLoginEvent;你的监听方法:
<code>use Symfony\Component\Security\Core\Authentication\Token\RememberMeToken; public function onLogin(InteractiveLoginEvent $event) { // 你可以在这里执行同步操作 // 如果你想区分主动登录和自动登录: $token = $event->getAuthenticationToken(); if ($token instanceof RememberMeToken) { // 是自动登录 } } </code>