Я установил немного другую логику входа в AuthController, предоставленную laravel 5.2. Код
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();
});
это правильный способ сделать это: http://laravel.io/forum/11-04-2014-laravel-5-how-do-i-create-a-custom-auth-in-laravel-5?page=1#reply-29759
Ваш метод не будет работать, потому что попытка авторизации по умолчанию в Laravel не будет проверять условие is_active.
Других решений пока нет …