2016-11-10 3 views
-1

Я работаю с laravel Auth. Попытка добавить новое правило с адресом электронной почты и паролем, если статус (поле в пользовательской модели) = 1, то он не может войти в систему. Я не могу найти, где я должен добавить это. Я смотрел на ПО промежуточного слоя, guard.php AuthenticateUsers.php, но не нашел ..Laravel Authentication Custom Rule


Edit:

Я решил эту проблему путем создания нового промежуточного программного, который проверяет для этого поля. Кроме того, это может быть сделано с Auth :: попытка

+0

Что такое статус? –

+0

@MohamedAthif Статус - это поле в модели пользователя (отредактировано первое сообщение) –

+0

вы можете создать промежуточное программное обеспечение и ограничить маршруты, такие как admin от него, если он имеет статус 1 –

ответ

1

Вы можете попробовать, как:

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

Из Docs

Если вы хотите, вы также можете добавить дополнительные условия для запроса аутентификации в дополнение к электронной почте и паролю пользователя.

+0

Ссылаясь на документацию, это должно быть в LoginController.php, но это не так. Где я должен добавить этот код? –

+0

В 'LoginController.php' есть черта' Illuminate \ Foundation \ Auth \ AuthenticatesUsers', которая содержит функцию 'login()'. Вы можете переопределить эту функцию в своем классе 'LoginController', как вам нужно. –