laravel 5.2 auth 邮箱验证条件

laravel 5.2 auth Conditions for email verify

我想编辑授权并添加附加条件

用于检查用户是否处于活动状态或...

在哪里可以编辑 authcontroller 代码?

首先,您需要 users table 中的 status 列来将用户标记为活跃或不活跃。

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

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

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

protected function validateLogin(Request $request)
{
    $this->validate($request, [
        $this->loginUsername() => 'required', 'password' => 'required', 'status' => 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());
        }
    }