编程语言
首页 > 编程语言> > php – 如何覆盖Laravel 5.6的默认登录机制?

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

作者:互联网

我希望用户只有在users表中的status字段设置为1时才能登录.如果为0,则只返回错误,说明用户帐户未激活.

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

我试图找到默认身份验证的位置,但无法在任何地方找到它.

解决方法:

您需要简单地覆盖AuthenticatesUsers.php中定义的credentials().默认登录方法使用AuthenticatesUsers trait.所以去登录控制器并像这样覆盖.

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

        ];
    }

Note: don’t forget to import Request class and don’t change anything whatever defined in vendor directory.

标签:laravel-5-6,php,authentication,laravel-authentication
来源: https://codeday.me/bug/20190910/1801758.html