search

Home  >  Q&A  >  body text

php - symfony自动登录问题

我在symfony 2.3中使用“remeber me”这个功能,可以实现功能,但是由于我另外一个程序也要和symfony实现同时登录,同时退出,不过那边程序没有接口给我调用类似“remeber me”功能,只有登录功能,所以,我想是不是可以监听sf的自动登录,然后在监听里面调用那边程序的登录接口,这样就可以实现同步登录,同步退出了

阿神阿神2901 days ago475

reply all(1)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 14:38:58

    你可以监听 security.interactive_login 事件来介入每次登录成功的场景。

    事件是Symfony\Component\Security\Http\Event\InteractiveLoginEvent;你的监听方法:

    use Symfony\Component\Security\Core\Authentication\Token\RememberMeToken;
    
    public function onLogin(InteractiveLoginEvent $event)
    {
        // 你可以在这里执行同步操作
    
        // 如果你想区分主动登录和自动登录:
        $token = $event->getAuthenticationToken();
        if ($token instanceof RememberMeToken) {
            // 是自动登录
        }
    }
    

    reply
    0
  • Cancelreply