И еще раз про права доступа (поиск модуля)
Уже собрался сам писать, но на всякий случай решил спросить (поскольку поиском ничего не нашлось). Требуется модуль, который бы создавал альтернативную друпаловской систему ограничения доступа к нодам, Который не использовал бы в своей работе таблицу node_access (которая является таблицей разрешений), а использовал бы свою, которая являлась бы таблицей запрещений. Т.е. если в таблице про ноду ничего не написано, то доступ есть всем, а если написано, то доступ для тех, для кого он прописан ограничен (соответсвенно просмотр/редактирование/удаление).
Для чего это надо я объяснял тут http://www.drupal.ru/node/58001 и тут http://www.drupal.ru/node/57889
Кстати, по логике, если все сделать правильно, данный модуль не должен конфликтовать со стандартной системой доступа, а их действия должны накладываться друг на друга.
Думаю, что в необходимости подобного функционала убеждался каждый, кто пытался при мультисайтинге сделать разграничение доступа к контенту по правам доступа (ноды общие, а таблица доступа для каждого сайта своя - со стандартной системой не работает). Уверен, что кто то нечто подобное делал, вопрос есть ли это оформленное в виде отдельного модуля?
Заранее спасибо!
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
из всего что есть с доступами в drupal - лучшее - это opengroups
напишите уже свое. и да. не надо hook_access на view перекрывать
лучше изучите как код db_rewrite_sql() работает и свой хук для прицепа таблицы доступа напишите
обычно в нормальных модулях все запросы обрабатываются сверху через db_rewrite_sql - чтобы вклинить в SQL запрос что-то касательно разрешений.
посмотрите функционал модуля Private. В настройках можно указать доступ по умолчанию для разных типов материалов. при создании/редактировании материала разрешение/запрещение к просмотру можно изменить выставлением галки.