@godpop

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

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

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

Похожие вопросы