仅当用户在Laravel 5.7中处于活动状态时才登录

Deb*_*ury 4 php laravel laravel-5.7

我是Laravel的新手,在实现用户身份验证方面相当成功。现在,进入下一步,我必须仅允许处于活动状态的用户登录。为此,我添加了一个

status TINYINT
Run Code Online (Sandbox Code Playgroud)

我的mysql用户表中的列。

我在Laravel文档中找到了这一点:

指定附加条件

如果需要,除了用户的电子邮件和密码外,还可以在身份验证查询中添加其他条件。例如,我们可以验证用户被标记为“活动”:

if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
// The user is active, not suspended, and exists.
}
Run Code Online (Sandbox Code Playgroud)

有人可以指出我需要在哪里放置这块。我很困惑,需要一些指导。

谢谢

kap*_*tan 7

在您的LoginController上有这个:

protected function credentials(Request $request)
{        
   return ['username' => $request->{$this->username()}, 'password' => $request->password, 'status' => 1];
}
Run Code Online (Sandbox Code Playgroud)

  • 我的坏忘记包括`use Illuminate\Http\Request;` (2认同)