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