Прочитал трактат о распределение привилегий. Все логично и здорово. Со всем согласан
Вот только не пойму, как это реализовано. Как прикрепить ту или иную привилегию на то или иное действие. Ну, допустим, если мы ставим права на достп к той или иной странице, тут все понятно. В базе храним id или url страницы, и для нее выставляем права. А вот как прикрутить данные права к форуму например, на добавление сообщений, изменения. Откуда должен вызываться запрос на выяснение прав. Что-то мне сложно сформулировать мысль. Попробую пояснить на примере.
Допустим у нас есть класс или модуль в котором могут выполняться те или иные действия. И на выполнение этих действий должны назначаться привилегии. Вопрос, где нужно прописывать эти действия.
function add()
{
$right = chekRights(“add”);
}
То есть в данном модуле должно быть промписано действие “add” и уже на него накладываются права. Или данные действия для каждого модуля должны быть определены где-то в другом месте? или еще как?
Попытался разобраться в скриптах Вашей системы. Возможно я не совсем понял, но мне так показалось, что при каждой загрузке страницы из базы считываются привилегии всех групп пользователей и самих пользователей и потом происходит сравнение прав, объединение и т.д. Или запрашиваются только необходимые права на текущий модуль или страницу для конкретного пользователя и группы, в которую он входит.
Не могли бы Вы немного описать алгоритм реализации данно системы распределения прав?