如何覆盖 Laravel 5.6 的默认登录机制?

Raj*_*Raj 4 php authentication laravel-5.6 laravel-authentication

我希望用户仅在用户表中的状态字段设置为1 时登录。如果为0,则仅返回错误,表明用户帐户未激活

因此,在表中创建状态字段后,我可以在哪里检查用户状态是否为1,然后只能登录,否则会抛出错误。

我试图找到默认身份验证检查的位置,但在任何地方都找不到它。

Rah*_*hul 6

您只需覆盖credentials()中定义的内容即可AuthenticatesUsers.php。默认登录方法使用AuthenticatesUsers特征。所以登录控制器并像这样覆盖。

protected function credentials(Request $request)
    {
        return [
            'email'=>$request->{$this->username()},
            'password'=>$request->password,
            'status'=>1

        ];
    }
Run Code Online (Sandbox Code Playgroud)

注意:不要忘记导入 Request 类,也不要更改供应商目录中定义的任何内容。