laravel 5.2 auth电子邮件验证的条件

时间:2016-02-10 01:34:09

标签: laravel laravel-5.2

我想编辑身份验证并添加其他条件

用于检查用户是否为活动或...

哪里可以编辑authcontroller代码?

2 个答案:

答案 0 :(得分:1)

首先,您需要status表中的users列,将用户标记为有效或无效。

要在登录期间检查用户状态,您需要修改此文件:

project_folder\vendor\laravel\framework\src\Illuminate\Foundation\Auth\AuthenticatesUsers.php

您可以更改validateLogin()方法。我假设,对于活跃用户,状态代码为10表示非活动用户。您的代码应如下所示:

protected function validateLogin(Request $request)
{
    $this->validate($request, [
        $this->loginUsername() => 'required', 'password' => 'required', 'status' => 1,
    ]);
}

答案 1 :(得分:1)

在Auth \ AuthController.php中,添加此功能(我假设用户状态的列名是" is_active"):

public function authenticated($request, $user) {
        if ($user->is_active != 'Y') {
            Auth::logout();
            return redirect('login')->withErrors([
                $this->loginUsername() => 'Your '.$this->loginUsername().' is not active. Please contact Administrators'
            ]);
        }else {
            return redirect()->intended($this->redirectPath());
        }
    }