如何检查用户的状态是否在 laravel 5.x 中处于活动状态?
How to check if user's status is active in laravel 5.x?
我在 laravel 5.2 提供的 AuthController 中设置了一些不同的登录逻辑。代码是
protected function authenticated(Request $request)
{
$email = $request->input('email');
$password = $request->input('password');
if (Auth::attempt(['email' => $email, 'password' => $password, 'is_active' => 1])) {
return redirect()->intended('admin/dashboard');
}
return $this->sendFailedLoginResponse($request);
}
代码运行良好。但是当用户不活跃时的问题,它仍然以用户身份登录。那么如何停止使用 is_active = 0
对用户进行身份验证?
更新:用户迁移
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
$table->tinyInteger('is_active', 0);
$table->rememberToken();
$table->timestamps();
});
您的方法将不起作用,因为 Laravel 默认值 Auth::attempt 不会检查 is_active 条件。
我在 laravel 5.2 提供的 AuthController 中设置了一些不同的登录逻辑。代码是
protected function authenticated(Request $request)
{
$email = $request->input('email');
$password = $request->input('password');
if (Auth::attempt(['email' => $email, 'password' => $password, 'is_active' => 1])) {
return redirect()->intended('admin/dashboard');
}
return $this->sendFailedLoginResponse($request);
}
代码运行良好。但是当用户不活跃时的问题,它仍然以用户身份登录。那么如何停止使用 is_active = 0
对用户进行身份验证?
更新:用户迁移
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
$table->tinyInteger('is_active', 0);
$table->rememberToken();
$table->timestamps();
});
您的方法将不起作用,因为 Laravel 默认值 Auth::attempt 不会检查 is_active 条件。