Laravel 7 добавить проверку значения в промежуточное ПО проверено? - PullRequest
0 голосов
/ 02 мая 2020

Я использовал промежуточное программное обеспечение («проверено»), чтобы попросить нового пользователя подтвердить почту:

Auth::routes(['verify' => true]);
Route::get('/home', 'HomeController@index')->name('home')->middleware('verified');

Это прекрасно работает.

Если почта подтверждена, я хотел бы проверить если поле is_active равно 1 (а не 0), потому что мы должны принять или отклонить новые регистрации.

Должен ли я добавить собственное промежуточное ПО или изменить проверенное?

Спасибо .

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Как сказал Омер Йилмаз, лучший способ - создать новое промежуточное ПО (настроенное):

public function handle($request, Closure $next)
{
    if(auth()->user()->is_active != 0)
    { 
        return $next($request); 
    } 
    return redirect('/'); 
}

и в Интернете. php, я называю оба промежуточных ПО, проверено, имеет приоритет:

Route::get('/home', 'HomeController@index')->name('home')->middleware('verified', 'checkuserisactive');

Не забудьте объявить ваше новое промежуточное ПО в ядре. php file:

App / Http / Kernel. php

'checkuserisactive' => \App\Http\Middleware\CheckUserIsActive::class,
0 голосов
/ 02 мая 2020

Я думаю, вы хотите дублировать электронные письма в вашей системе до подтверждения почты. Это может быть ошибкой 1. Удалите уникальные из электронных писем на столе пользователей. 2. изменить правила регистрации 3. после подтверждения адреса электронной почты удалить других пользователей с таким же адресом электронной почты

или: удалить пользователя (если он не подтвердил адрес электронной почты с тем же адресом электронной почты) перед регистрацией нового пользователя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...