laravel 5.2 логин пользователя с активным статусом

Привет всем, я использую аутентификацию по умолчанию laravel 5.2, но я хочу, чтобы пользователь входил в систему только с активным статусом.

https://laravel.com/docs/5.2/authentication

в этой ссылке они дали метод, подобный следующему

if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
    // The user is active, not suspended, and exists.
}

но я не нашел этого, где он находится в laravel 5.2.

Я искал, но решения предназначены для предыдущих версий, а не для 5.2.

Поэтому, пожалуйста, помогите мне войти в систему для пользователей, которые имеют только активный статус, поэтому дайте мне laravel 5.2, а не 5.1 или предыдущие версии, встроенные или индивидуальное решение для решения проблемы.


person Ijaz Khan    schedule 29.07.2016    source источник
comment
это до сих пор так работает   -  person Ozan Kurt    schedule 29.07.2016
comment
Это работает с 5.2, пробовали?   -  person Bilal Iqbal    schedule 29.07.2016
comment
Они добавили его в документацию, чтобы показать, что вы можете проверить другие поля в пользовательской таблице. В качестве примера они использовали поле active, Laravel не имеет встроенных функций активации учетной записи.   -  person Winter    schedule 29.07.2016


Ответы (2)


Предполагая, что вы используете настройку аутентификации по умолчанию, вы можете переопределить метод getCredentials для AuthController, который исходит из черты AuthenticatesUsers.

protected function getCredentials(Illuminate\Http\Request $request)
{
    return $request->only($this->loginUsername(), 'password') + ['active' => 1];
}

Этот метод возвращает массив учетных данных, который передается Auth::attempt в login методе AuthController. Как уже упоминали другие люди, вам понадобится поле active в вашей users таблице.

person lagbox    schedule 30.07.2016

Этот пример предназначен только для того, чтобы показать, что вы можете добавлять настраиваемые поля при попытке входа в систему.

Вам нужно добавить дополнительное поле в вашу таблицу User, например isActive.

Когда вы это сделаете, вы можете проверить, активен ли пользователь в вашем приложении.

if($user->isActive) {
 // do something
}
person Christophvh    schedule 29.07.2016