Роли, Права, Авторизация в Laravel. Необходимые знания для понимания Gates и Policies. Часть 1

В сегодняшнем ролике я расскажу про авторизацию и разделение прав пользователей. Создадим простую ролевую модель, а также поработаем с Gates и Policies. #авторизация#laravel#cutcode --------------------------------------------------------------------------------- ❗️❗️❗️Присоединяйся к нашему комьюнити в телеграм - там и советом помогут и много интересного - 🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - --------------------------------------------------------------------------------- ⏰ Таймкоды: 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, только правило условия входа объединены в общий устав. Давайте меньше слов перейдем к практике. --------------------------------------------------------------------------------- 📹 делитесь этим видео с друзьями: 🔔 подпишитесь на YouTube-канал: 📼 Курс по Laravel с нуля: Роли, Права, Авторизация в Laravel. Необходимые знания для понимания Gates и Policies. Часть 1 --------------------------------------------------------------------------------- 🔗 наш сайт: 📷 наш instagram: 📱 Наш telegram-канал:
Back to Top