我正在使用UserChecker类测试帐户的激活,正在使用以下代码,但是我想显示登录页面上未激活的消息帐户,而不会引发异常:
Class UserChecker implements UserCheckerInterface
{
public function checkPreAuth(UserInterface $user)
{
if (!$user instanceof AppUser) {
return;
}
}
public function checkPostAuth(UserInterface $user)
{
if (!$user instanceof AppUser) {
return;
}
if (!$user->getIsActive()) {
throw new \Exception("member not active");
}
}
}
答案 0 :(得分:0)
use Symfony\Component\Security\Core\Exception\LockedException;
Class UserChecker implements UserCheckerInterface
{
public function checkPreAuth(UserInterface $user)
{
//.....
}
public function checkPostAuth(UserInterface $user)
{
if (!$user instanceof AppUser) {
return;
}
if (!$user->getIsActive()) {
$ex = new LockedException("member not active");
$ex->setUser($user);
throw $ex;
}
}
}
我不确定您的Symfony版本。