Роли, Права, Авторизация в Laravel. Знания для понимания Gates и Policies. Часть 2. Политики
Продолжаем изучать авторизацию и разделение прав пользователей. В этом уроке поработаем с политиками (Policies).
#авторизация#laravel#cutcode
---------------------------------------------------------------------------------
❗️❗️❗️как делать сложные сайты на laravel? Это просто с cutcode!
Поддерживай мой проект -
Угостить меня кофе -
🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут -
---------------------------------------------------------------------------------
⏰ Таймкоды:
00:00 Введение
00:33 Создание и регистрация политики
02:12 Отличие политик от гейтов
04:37 Изменение view и controller
05:20 Добавление метода autorizeResource
08:59 Проверка работоспособности
11:11 Подведение итогов
Всех поклонников Laravel я приветствую на канале CutCode! И у нас вторая часть по авторизации в Laravel. Напомню в первой части мы поговорили о gates, затронули основы теории, немножко обсудили различия и прочее и в целом прошлись по всем базовым методом в gates. Сегодня же мы поиграемся с политиками.
Ну давайте начнем. Так политики у нас регистрируется также в AuthServiceProvider. Давайте начнем с того что создадим политику для статей, для постов. Важно указать здесь название - чтобы начиналась с модели, то есть у нас модель post и политика также должно называться post, а далее слово policy. Зачем это нужно я сейчас объясню и далее атрибутом мы задаем к какой eloquent модели у нас относится эта политика. Она у нас создана.
Смотрите далее мы ее регистрируем в AuthServiceProvider. У нас есть метод registerPolicies, который берет свойства policies и здесь соотносят модель с политикой.
Да но нам это можно и не делать, в Laravel с версии 7 есть AutoDiscovery в директории Policies где у нас располагается наши созданная PostPolicy и если у нее название соответствует модели (у нас есть модель post, есть postPolicy) добавляется слово Policy, в таком случае здесь нам прописывать свойства Policy нет необходимости, Laravel и так её подхватит. Если название не соответствует этой Laravel логике, то вы можете указывать здесь соответствие в свойстве Policy.
Итак мы создали политику. Чем она отличается? Если мы ее откроем, мы видим, что в ней уже есть набор методов: дефолтные методы все от eloquent модели: restore, save, delete и так далее, то есть все что нужно к примеру для CRUD системы. И в случае с Gates - они прописываются для какой-то единичной способности, то есть у него атрибутом одна способность, то в политиках уже группа способностей. Более такой грамотный подход получается в особенности для eloquent моделей, для чего собственно политики и созданы. Здесь мы видим в по умолчанию созданной политике что у нас модель user у нас же в админке используется AdminUser, поэтому нам здесь по умолчанию нужно заменить стандартного юзера на админ юзера, иначе работать не будет так как будет выскакивать exception, что вы передаете админ юзера, а ждете юзера простого.
---------------------------------------------------------------------------------
📹 делитесь этим видео с друзьями:
🔔 подпишитесь на YouTube-канал:
📼 Курс по Laravel с нуля:
Роли, Права, Авторизация в Laravel. Знания для понимания Gates и Policies. Часть 2. Policies
---------------------------------------------------------------------------------
🔗 наш сайт:
📷 наш instagram:
📱 Наш telegram-канал:
1 view
830
259
1 week ago 00:01:32 1
[GTA5RP] GTA5RP: НОВЫЙ СЕЗОННЫЙ ПРОПУСК «ЗИМА’24» / ЭКСКЛЮЗИВНЫЕ АВТОМОБИЛИ И УНИКАЛЬНЫЕ ПРИЗЫ
1 week ago 04:41:47 1
[galkovsky] Стрим #58 (2) “Наверстываем“
1 week ago 02:03:23 5
[Harons] ГЛАВНЫЕ МАФИОЗИ СЕРВЕРА! ВЫИГРЫВАЕМ ТУРНИР на 1 000 000 РУБ - Rust | Раст
1 week ago 00:01:24 1
[Kinoman] Эмма — Русский трейлер (2020)
1 week ago 00:01:00 1
[Kinoman] Пила: Начало — Русский трейлер (2020)
1 week ago 00:22:21 5
[Potapych] КАК ПРАВИЛЬНО НАЧАТЬ ИГРАТЬ на МОЙ ДОМ РП ГТА 5 & ЛУЧШИЙ СТАРТ (Мой Дом РП) RADMIR RP ГТА 5!