Я написал код для проверки электронной почты. Я хочу изменить поведение контроллера входа в систему, чтобы он разрешал только проверенных пользователей.
У меня есть поле статуса в базе данных, в котором будет храниться пользователь, проверен или нет, сохраняя 0/1. Теперь при запросе на вход я должен проверить электронную почту, пароль, а также код состояния, равный 1. Если проверка прошла, пользователь будет перенаправлен на панель управления, в противном случае перенаправить на логин с сообщением об ошибке.
Я выполнил все действия по проверке электронной почты.
Пожалуйста, дайте мне знать, какие входы вы хотите.
можем ли мы изменить промежуточное ПО redirectIfAuthenticated?
не в промежуточном программном обеспечении, в вашем методе контроллера, посмотрите здесь laravel.com/docs/5.6/authentication#authenticating-users
Он должен быть в контроллере входа в систему, как сказал @ Sohel0415, проверьте свой метод контроллера






Обновите свой LoginController
нужно написать следующую функцию там
protected function authenticated($request, $user){
if (!$user->is_active){
//logic here
}
}
В приведенном выше примере is_active - это атрибут вашей таблицы, в котором у вас есть статус пользователя ... !!
@PrabaharanRajendran рад, если это действительно помогло ___ !!
@Pranav Mandlik Вы должны принять это, если это было полезно, или, если не дайте мне знать об этом, я могу сделать это лучше
я реализовал как
защищенная функция аутентифицирована ($ request, $ user) {if (Auth :: user () -> status == 0) {// здесь логика return redirect (route ('login')); } else {возврат перенаправления (маршрут ('домой')); }}
Лучше использовать $ user-> status == 0 из вышеуказанного условия
у меня только один вопрос
в лезвии мы пишем как / @ if ($ errors-> has ('email')) <span class = "invalid-feedback"> <strong> {{$ errors-> first ('email')}} </ strong > </span> / @ endif
Я хочу установить это $ errors в контроллере, как это установить?
извините, вы можете объяснить свой вопрос?
В этом решении is_active проверяется только после того, как пользователь уже аутентифицирован. Таким образом, пользователь должен выйти из системы, если он неактивен, чтобы это работало должным образом. Поправьте меня если я ошибаюсь.
Существует более элегантное решение, предоставленное BrokenBinary, который проверяет, активна ли учетная запись во время аутентификации, и возвращает настраиваемое сообщение об ошибке, если учетная запись неактивна.
Спасибо, Сайкс не может проголосовать сейчас, потому что достигнут лимит, сделаю это завтра
@PranavMandlik Классно. Тем не менее, изучите это решение :) Ура
сделать проверку на контроллере входа в систему