Как я могу перенаправить на страницу step2 после подтверждения адреса электронной почты в зависимости от их роли? - PullRequest
0 голосов
/ 14 апреля 2019

Как я могу перенаправить на страницу step2 после подтверждения адреса электронной почты на основании их роли?

enter image description here

Поскольку у меня есть два типа пользователей, оба после регистрации их электронной почты и пропуска, они получат подтверждение по электронной почте, после нажатия этой кнопки он перенаправляет на дом, вместо этого он перейдет на /signup/employee/step2 или /signup/user/step2.

Могу ли я попросить несколько советов о том, как перенаправить пользователя в зависимости от его роли с его шагом 2 для завершения регистрации?

Ответы [ 2 ]

0 голосов
/ 14 апреля 2019

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

Вам нужно сделать что-то вроде этого:

// app/Providers/EventServiceProvider.php
protected $listen = [
    'Illuminate\Auth\Events\Verified' => [ // Laravel event
        'App\Listeners\RedirectUsers', // Your custom listener
    ],
];

пробег # php artisan make:listener RedirectUsers -e Illuminate\Auth\Events\Verified

// app/Listeners/RedirectUsers.php
public function handle(OrderShipped $event)
{
     if(Auth::user()->hasRole('admin')) {
         return redirect('/admin');
     }
     // ...
}
0 голосов
/ 14 апреля 2019

Ну, очевидно, вам понадобится какой-то тип ACL (контроль доступа). Если вашему приложению нужна именно эта конкретная часть, вы можете добавить новый столбец в пользовательскую таблицу is_employee и сделать его bool.

После этого просто внедрите новое промежуточное ПО.

Тем не менее, я бы лично пошел с https://github.com/spatie/laravel-permission это намного проще:)

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