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
コントローラーでを取得する方法は?
前もって感謝します