Хотите изменить логин laravel по умолчанию, чтобы проверить, проверен ли пользователь или нет

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

У меня есть поле статуса в базе данных, в котором будет храниться пользователь, проверен или нет, сохраняя 0/1. Теперь при запросе на вход я должен проверить электронную почту, пароль, а также код состояния, равный 1. Если проверка прошла, пользователь будет перенаправлен на панель управления, в противном случае перенаправить на логин с сообщением об ошибке.

Я выполнил все действия по проверке электронной почты.

Пожалуйста, дайте мне знать, какие входы вы хотите.

сделать проверку на контроллере входа в систему

Sohel0415 15.03.2018 08:40

можем ли мы изменить промежуточное ПО redirectIfAuthenticated?

Pranav Mandlik 15.03.2018 08:41

не в промежуточном программном обеспечении, в вашем методе контроллера, посмотрите здесь laravel.com/docs/5.6/authentication#authenticating-users

Sohel0415 15.03.2018 08:42

Он должен быть в контроллере входа в систему, как сказал @ Sohel0415, проверьте свой метод контроллера

Prabaharan Rajendran 15.03.2018 08:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
4
4
3 547
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Обновите свой LoginController

нужно написать следующую функцию там

protected function authenticated($request, $user){

    if (!$user->is_active){
        //logic here 

    }
}

В приведенном выше примере is_active - это атрибут вашей таблицы, в котором у вас есть статус пользователя ... !!

@PrabaharanRajendran рад, если это действительно помогло ___ !!

Ramzan Mahmood 15.03.2018 09:01

@Pranav Mandlik Вы должны принять это, если это было полезно, или, если не дайте мне знать об этом, я могу сделать это лучше

Ramzan Mahmood 15.03.2018 09:03

я реализовал как

Pranav Mandlik 15.03.2018 09:21

защищенная функция аутентифицирована ($ request, $ user) {if (Auth :: user () -> status == 0) {// здесь логика return redirect (route ('login')); } else {возврат перенаправления (маршрут ('домой')); }}

Pranav Mandlik 15.03.2018 09:21

Лучше использовать $ user-> status == 0 из вышеуказанного условия

Ramzan Mahmood 15.03.2018 09:23

у меня только один вопрос

Pranav Mandlik 15.03.2018 09:28

в лезвии мы пишем как / @ if ($ errors-> has ('email')) <span class = "invalid-feedback"> <strong> {{$ errors-> first ('email')}} </ strong > </span> / @ endif

Pranav Mandlik 15.03.2018 09:29

Я хочу установить это $ errors в контроллере, как это установить?

Pranav Mandlik 15.03.2018 09:30

извините, вы можете объяснить свой вопрос?

Ramzan Mahmood 15.03.2018 09:53

В этом решении is_active проверяется только после того, как пользователь уже аутентифицирован. Таким образом, пользователь должен выйти из системы, если он неактивен, чтобы это работало должным образом. Поправьте меня если я ошибаюсь.

sykez 15.03.2018 09:59

Существует более элегантное решение, предоставленное BrokenBinary, который проверяет, активна ли учетная запись во время аутентификации, и возвращает настраиваемое сообщение об ошибке, если учетная запись неактивна.

Спасибо, Сайкс не может проголосовать сейчас, потому что достигнут лимит, сделаю это завтра

Pranav Mandlik 15.03.2018 10:08

@PranavMandlik Классно. Тем не менее, изучите это решение :) Ура

sykez 15.03.2018 10:15

Другие вопросы по теме