Symfony2登录:根据3个标准对用户进行身份验证
我正在尝试使用symfony2登录,让用户提供3个登录凭据,例如 用户名 注册号 密码 我正在使用一个自定义条目提供程序,从书中生成。这里面有一个班级Symfony2登录:根据3个标准对用户进行身份验证,symfony,authentication,login,Symfony,Authentication,Login,我正在尝试使用symfony2登录,让用户提供3个登录凭据,例如 用户名 注册号 密码 我正在使用一个自定义条目提供程序,从书中生成。这里面有一个班级 public function loadUserByUsername($username) { $q = $this ->createQueryBuilder('u') ->where('u.username = :username') ->setParameter('us
public function loadUserByUsername($username)
{
$q = $this
->createQueryBuilder('u')
->where('u.username = :username')
->setParameter('username', $username)
->getQuery();
try {
// The Query::getSingleResult() method throws an exception
// if there is no record matching the criteria.
$user = $q->getSingleResult();
} catch (NoResultException $e) {
$message = sprintf(
'Unable to find an active User "%s".',
$username
);
throw new UsernameNotFoundException($message, 0, $e);
}
return $user;
}
是否有方法将更多变量传递给此方法,例如,loadUserByUsername($username,$regnumer)
然后我可以查询额外的数据
有人有什么建议吗
提前感谢。更改loadUserByUsername没有简单的方法。您可以编写自己的自定义身份验证管理器。我发现这是一个非常具有挑战性的问题,尽管一旦你让它工作起来,你就可以完全控制身份验证。当用户/密码经过身份验证时,默认系统会发送身份验证成功事件。您可以尝试侦听此事件,然后应用您的regnumber身份验证。我自己也没试过,但应该可以用。很酷,谢谢你的建议。我认为自定义身份验证处理程序是一种可行的方法。我会试一试,然后再报告。