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

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

status TINYINT

我的mysql用户表中的列。

我在Laravel文档中找到了这个:

指定附加条件

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

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

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

谢谢

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

php laravel laravel-5.7
6个回答
9
投票
将其保存在您的LoginController上:

3
投票
您只需要获取用户状态并检查用户状态为真还是假。您可以通过Auth会话使用Auth :: User()-> status获取状态。尝试这个。

3
投票
只需将这段代码放在您的App\Auth\LoginController或您放置LoginController的其他位置。

0
投票
在下面添加方法

0
投票
您可以像这样在App \ Http \ Controllers \ Auth \ LoginController.php中覆盖authenticated()方法:

0
投票
将此添加到您的LoginController:
© www.soinside.com 2019 - 2024. All rights reserved.