2012-12-19 94 views
3

我正在開發一個用戶可以使用證書登錄的項目。使用FOSUserBundle登錄控制器

因此,如果在POST請求中存在有效的證書,我想在控制器中登錄用戶並重定向到主站點。

我正在使用FOSUserBundle,但沒有發現任何解釋這是否可行或如何完成的內容。

有沒有人已經這樣做或有一個想法如何做到這一點?

回答

2

我終於找到了答案。

$token = new \Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken($user, $pw, "main", array("ROLE_USER")); 
    $this->get('security.context')->setToken($token); 

    $event = new \Symfony\Component\Security\Http\Event\InteractiveLoginEvent($this->getRequest(), $token); 
    $this->get('event_dispatcher')->dispatch('security.interactive_login', $event); 

    $user = $this->get('security.context')->getToken()->getUser();