@ortsuev33

Как лучше реализовать такое ограничение?

У меня есть права пользователей admin и user.
Есть ссылка на редактор статей, с помощью php я бы сделал тупо условие проверки на совпадение строки в бд на строку admin ,есть ли что то готовое в laravel, я просто читал про guard (или это доступ на страницу) толком не понял нечего
  • Вопрос задан
  • 98 просмотров
Решения вопроса 2
@jazzus
Тебе нужны политики для модели article сделать политику прописать доступ и ограничивать с помощью can в шаблонах. В доках подробные примеры для разных ситуаций. Либо просто сделать проверку от юзера. Я так понимаю у тебя ролей нет и ты просто сделал поле admin в users. Тогда в модели User сделать проверку типа
public function isAdmin()
{
  return $this->admin === 1;
}

и в шаблонах
@if (Auth::user()->isAdmin())
  показать кнопку
@endif

но лучше политиками т.к. наглядней и проще рефакторить. Даже с одной ролью. Например захочешь создание статей еще в конфигах отключать. С политиками ты в методе create в ArticlePolicy добавляешь этот конфиг и у тебя по всему приложению заработала логика и не нужно везде дублировать код если что-то меняется. Советую потратить время на вникание, чем потом писать свои велосипеды. Иначе смысл Ларавел использовать?
Ответ написан
@oleg_ods
Почитай что такое RBAC. А дальше выбирай какой тебе больше нравится
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Amigoweb Магнитогорск
от 50 000 до 70 000 руб.
от 80 000 до 160 000 руб.
Brizo CRM Москва
от 100 000 до 150 000 руб.
15 нояб. 2019, в 01:36
10000 руб./за проект
15 нояб. 2019, в 01:32
5000 руб./за проект