Задать вопрос
@godpop

Как сделать ACL для пользователей?

Добрый вечер. Делаю разделение прав доступа пользователей. Отдельно разделяю права для админки, отдельно для сайта. Для сайта есть возможность создания типов контента, отдельно для новостей, блогов, статей и другого.
Создал следующие таблицы: group - здесь название группы пользователей, их права на пользование функционалом как админки, так и сайта, делаю что-то вроде если 1 - то можно, если 0 - нельзя. userADD int 1.
таблицы rules -где id, groupID - id группы пользователя, typeID - id контента, postVIEW - просмотр записей, postADD - добавление записи на сайте, postEDIT - редактирование, postDELETE - удаление записи.
Как еще можно удобно упорядочить права пользователей? А то получается у меня в таблице rules одни лишь права на типы контента, а в group и имя пользователя, и права на админку, и права на другие разрешения на сайте кроме типов контента.
Заранее спасибо.
  • Вопрос задан
  • 244 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Immortal_pony
@Immortal_pony Куратор тега PHP
Ответ написан
Комментировать
65536
@65536
я делал permissions <-> groups <-> users, где "<->" связь много ко много. потом еще приделал связь permissions <-> users для персонального отбирания/давания разрешения пользователю каких-то разрешений поверх того, что присваивается ему через группы. там где нужно проверить какое-то разрешение, там оно и проверяется. так же разрешения и группы можно связывать с какими-то другими объектами в системе, чтобы владельца обозначить и проверять принадлежность когда надо тоже
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽