Роли, Права, Авторизация в Laravel. Необходимые знания для понимания Gates и Policies. Часть 1
HTML-код
- Опубликовано: 2 авг 2024
- В сегодняшнем ролике я расскажу про авторизацию и разделение прав пользователей. Создадим простую ролевую модель, а также поработаем с Gates и Policies.
#авторизация#laravel#cutcode
---------------------------------------------------------------------------------
❗️❗️❗️Присоединяйся к нашему комьюнити в телеграм - там и советом помогут и много интересного - t.me/laravel_chat
🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - cutcode.ru/chat-bot
---------------------------------------------------------------------------------
⏰ Таймкоды:
00:00 Введение и содержание выпуска
00:35 Что нам потребуется
01:45 Теория по авторизации. Gates и Policies
03:30 Создание Gate.
05:00 Кнопки удалить и редактировать
09:32 Метод authorize
12:52 Метод inspect
13:52 Способ от текущей модели с пользователем
15:00 Метод before для полного доступа администратору
Всех поклонников Laravel я приветствую на канале Cutcode! Cегодня в выпуске: авторизация в Laravel: базовые знания разделения прав пользователей - создадим простую ролевую модель, поработаем с Gates и Policies, поговорим о их концептуальных отличиях и когда что применять. Воспользуемся всеми необходимыми методами работы с авторизацией, пройдемся так сказать по основам.
Что нам потребуется? В основе примера будем использовать админ панель из курса Laravel с нуля. Далее необходимо будет создать простую миграцию с таблицей ролей, где у нас будет просто название ролей: администратор менеджер и так далее. И связующую таблицу для связи belongs to many, админ пользователя и роли. Напомню, что такие таблицы создаются путем конкатенации названия таблиц в единственном числе в алфавитном порядке. В нашем случае это админ user нижнее подчёркивание roll.
Далее мы создаем в админ user отношения к нашим ролям belongs to many. Кстати id здесь не нужен, times temp здесь не нужен тоже самое как и здесь два метода вот этих using и whisTimeStamps, это у нас пришло с другого урока когда мы работали с апдейтом где я рассказывал о нововведениях touch и как он работает. В нашем случае эти моменты вы можете не использовать.
Друзья, немного теории обворовал есть два инструмента по работе с авторизацией, по работе с разделением прав: это gates и policies. Когда их стоит применять? ну скажем как и здесь в документации указано у вас есть CRUD система, есть пользователя и некоторым пользователям нужно запретить удалять записи либо редактировать, либо где-то просматривать, не важно: дать какие-либо запреты и тогда на помощь нам приходят либо gateы либо policies.
Когда что нужно применять и что за что отвечает. То есть по сути это одно и то же, но gateы даже как указано документации это отличный способ понять основы Laravel авторизации, однако при разработке более серьезных приложений на Laravel стоит использовать политики. Но по факту можно использовать смешанный подход, если вдруг вам нужен какой-то небольшой один метод по ограничению, тогда используйте gates, если же у вас политика на всю модель, на базовые eloquent-методы: создания, обновления, удаления и так далее, то конечно же на помощь придет и будет намного лучше использовать policies (политики).
Еще немного примеров для понимания общей картины: gates у нас даже исходя из названия скажем так ворота, у которых два состояния: либо они закрыты, либо открыты. И пропускают в эти ворота только под определенными условиями: скажем так стоит охрана на входе и проверяет, а вот политики здесь уже более цивилизованный подход: в основе те же самые gates, только правило условия входа объединены в общий устав. Давайте меньше слов перейдем к практике.
---------------------------------------------------------------------------------
📹 делитесь этим видео с друзьями:
• Роли, Права, Авторизац...
🔔 подпишитесь на RUclips-канал: / @cutcoderu
📼 Курс по Laravel с нуля:
• Курс по Laravel 8 обуч...
Роли, Права, Авторизация в Laravel. Необходимые знания для понимания Gates и Policies. Часть 1
---------------------------------------------------------------------------------
🔗 наш сайт: cutcode.ru/
📷 наш instagram: / cutcoderu 📱 Наш telegram-канал: t.me/laravel_cutcode
👍🏻отличный урок
Друже, спасибо! Это пожалуй лучше объяснение о работе Gate! Успехов тебе!
Спасибо за такие слова!
thanks
Спасибо за видео, полезно. Еще пожелание не по теме, но очень хотелось бы узнать, можете записать видео по переносу сайта с локального хостинга на реальный сервер?
Спасибо за просмотр! Ближайшее время такого ролика не планируется, но я сделаю пометку что вы просили
🔥🔥🔥
👌
спасибо
🤩
Спасибо!!! ты крут 👏
⭐⭐⭐⭐⭐
спасибо за урок.
есть репозитории на гитку?) Можно ссылку?
спасибо за урок.
есть репозитории на гитку?)
Спасибо за урок. А вы планируете продолжение уроков по Инерции с Vue3? По мне так очень полезная тема.
Спасибо за просмотр. Планирую, скоро выйдет
@@CutCodeRu жду)
Как ограничить доступ к полям по по ролям ? 🤔 Есть что-то для этого или нужно написать? 🤔
Если бы прилагалась ссылка предыдущего ролика было бы здорово. Не смотря, что показаны миграции - нет уверенности, что таблицы и все модели построены верно, так как Gate не отрабатывают как на видео.
Еще в репозитории из ссылки на GitHab, что ниже в комментариях - не прописаны чекбоксы.
Так что если есть ссылка на предыдущий ролик - прикрепите.
И да появился вопрос ... целеобразно ли было бы забить на гетеры и политики, когда есть мидлвары и гарды из курса laravel с нуля?
Зачем передать post если он не используется?
можно ссылку на github этого проекта?
github.com/CutCodeRu/laravel-beginner-level
почему везде непонятно?
что именно непонятно ?