1
我在laravel 5.2提供的AuthController中設置了一些不同的登錄邏輯。代碼是如何檢查用戶的狀態是否在laravel 5.x中處於活動狀態?
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();
});
你可以發佈你的用戶遷移。你用於嘗試的邏輯是正確的,所以可能是列的類型或類似的問題。 –
如果您在用戶模型上使用[軟刪除] [1],Laravel將自動爲您執行此操作。你只需要將你的'is_active'轉換爲'deleted_at'列 [1]:https://laravel.com/docs/5.2/eloquent#soft-deleting – CodePuppet
@MarkDavidson這裏是用戶遷移http: //pastebin.com/0J0fw4Tp –