UserChecker in Symfony2是用户认证所必需的一类。Symfony2:如何检索控制器中的UserChecker?
假设您需要验证用户身份只是一个控制器内,你应该定义类似如下的功能:
protected function authenticateUser(User $user) {
$user_checker = ...//Get here the user checker
try {
$user_checker->checkPostAuth($user);
} catch (AccountStatusException $e) {
return;
}
$providerKey = $this->container->getParameter('firewall_name');
$token = new UsernamePasswordToken($user, null, $providerKey, $user->getRoles());
$this->container->get('security.context')->setToken($token);
}
注意,UserChecker
被定义为Symfony2的非公共服务:
<service id="security.user_checker" class="%security.user_checker.class%" public="false" />
如何在控制器中获得UserChecker
?
在此先感谢
我不明白你的问题。你能用例子来解释吗? –
@AsishAP完成... :) – JeanValjean