Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 17.10.2019 03:00:15

Создать\разрешить регистр\логин для опред тип пользоват и по опр Ur

Здравствуйте, друзья! Может кто-то подсказать как реализовать возможность логина\регистрации определенных типов пользователей только на определенных Url. По Url смогут зарегистрироватся\логинится только те типы пользователей, который принадлежат разрешенной для данного Url группе пользователей.

Я использую  spatie/laravel-permission https://github.com/spatie/laravel-permission для реализации системы ролей и разрешений.
laravel 5.8 (сегодня обновил до 6.3, но не думаю, что реализация для v6.3 будет чем-то отличатся, поэтому решил написать здесь) php 7.3, Kubuntu 18.04 LTS, Apache 2.4, mysql 5.8

В общем, хочу реализовать (процесс логина и регистрации хотелось бы чтобы проходил штатными ларавельскими методами, с минимальными модификациями, что потребуются для воплощения нижеописанного функционала.):
1 - по url site.com/login  site.com/register происходил только Логин(Регистрация) пользователей с типом Customer. Если пользователь который пытается залогиниться\зарегистрироваться не принадлежит к Customer - urlBack redirect с ошибкой "нету прав для регистарции или логина по данному Урл". Если же пользователь пытается зарегистрироваться по site.com/register и данный пользователь уже существует в БД, но принадлежит к одной из групп (admin, manager), регистрация должна быть позволена и пройти успешно, после чего пользователю нужно сохранить в его текущих группах + добавить к группе Customer

2 - по url site.com/admin/login - должен происходить только Логин пользователей с типом Admin. Если пользователь который пытается залогиниться не принадлежит к Admin - urlBack redirect с ошибкой "нету прав для логина по данному Урл". Регистрация пользователей с типом Admin должна происходить site.com/admin/register-admin и только уже авторизированным пользователем из группы Admin

3 - по url site.com/manager/login - должен происходить только Логин пользователей с типом Manager. Если пользователь который пытается залогиниться не принадлежит к Manager - urlBack redirect с ошибкой "нету прав для логина по данному Урл". Регистрация пользователей с типом Manager должна происходить site.com/admin/register-manager и только уже авторизированным пользователем из группы Admin

Как вы поняли из вышеприведенного описания для трех типов пользователей Customer. Manager, Admin, после прохождения логина по соотв урл, они будут соответсвенно перенаправлены в свои админ кабинеты
для Customer - site.com/customer-account (контроллеры в app/Http/Controllers)
для Manager - site.com/manager/dashboard (контроллеры в app/Http/Controllers/Manager)
для Admin - site.com/admin/dashboard (контроллеры в app/Http/Controllers/Admin)

Надеюсь достаточно четко и подробно описал необходимый функционал.

Помогите плиз реализовать данный функционал! Буду очень признателен и благодарен за помощь! Если кто-то уже реализовывал подобный функционал - проведите меня, если возможно по шагам.. уверен, что эта не столь сложная процедура, но, к сожалению, я не знаю как мне ее реализовать на данном этапе. Спасибо.

Не в сети

Подвал раздела