Laravel по-русски

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

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

#1 17.12.2022 14:27:25

маршрутизация

Здравствуйте. Изучаю Ларавел.
В таблицу Users Добавлен столбец Role
В зависимости от значения этого столбца хочу задать определенный маршрут после авторизации.
Например если значение 1 то один шаблон, если 2 то другой шаблон, если 3 то другой шаблон страницы
и чтобы авторизованный пользователь имел доступ только к своим маршрутам

Например.
Если авторизованный пользователь Учитель то ему что открывался свой шаблон т.е. шаблон учителей и он бы мог там добавлять удалять и редактировать свои записи
Если авторизованный пользователь Ученик то ему что открывался свой шаблон

Не в сети

#2 30.09.2023 09:16:15

Re: маршрутизация

Тут наверно свой миделвеер прописать надло

Не в сети

#3 08.10.2023 19:04:20

Re: маршрутизация

@Biko ты пишешь "свой шаблон", "свой шаблон". Как-будто мы разграничиваем права на шаблоны. (На самом деле мы раздаем права на маршруты или экшены, т.е. на метод контроллера, а не на шаблон)

Годный пример контроля доступа (авторизации) в зависимости от роли есть в документации: https://laravel.com/docs/10.x/middlewar … parameters
Тебе нужно ограничить доступ к маршрутам
- добавить метод hasRole() у User, где ты будешь сравнивать параметр со значением поля role
- написать мидлварь по образцу из доки
- привязать мидлварь с параметром — именем роли к каждому маршруту или сразу к группе маршрутов.

Другая задача: "если он ... чтобы ему открывался ...". Это ты можешь реализовать в методе аутентификации. В доке это метод LoginController:authenticate(). Тебе надо изменить его, прописав в redirect() разные значения в зависимости от роли.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

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