关于laravel中的身份验证

时间:2014-11-14 10:16:51

标签: php laravel

在登录尝试的laravel中,我通常使用类似这样的东西

if (Auth::attempt(array('email' => $usernameinput, 'password' => $password), true))
{
// The user is being remembered...
}

基本上$ usernameinput将使用我桌上的电子邮件进行检查。

我正在考虑以不同的方式进行,例如我的表格中有电子邮件,用户名和密码。 $ usernameinput可以是我表格中的电子邮件或用户名字段。

如何使用以下条件进行Auth ::尝试:

(email==$usernameinput OR username==$usernameinput) AND password == $password

我读过一些文章,但我不明白你可以解释一下吗

2 个答案:

答案 0 :(得分:0)

只需检查两种情况:

if (Auth::attempt(array('email' => $usernameinput, 'password' => $password), true) ||
    Auth::attempt(array('username' => $usernameinput, 'password' => $password), true))
{
// The user is being remembered...
} 

答案 1 :(得分:0)

假设您在用户名中不允许@,您可以这样做:

$data['password] = $password;

if (strpos($usernameinput, '@') === false) {
   $data['username'] = $usernameinput;
}
else  {
   $data['email'] = $usernameinput;
}


if Auth::attempt($data, true) {
   // The user is being remembered...
}