Как реализовать разделение прав пользоватлей

Главные вкладки

Аватар пользователя zanami zanami 10 апреля 2013 в 10:43

Приветствую!

Проблема не проблема, задача. Нужно реализовать возможность нескольким пользователям редактировать сайт, добавлять новости, документы (разный контент, короче), но только в пределах своего «лягушатника». Количество изолированных разделов (лягушатников) будет около 10-15. В каждом будет (хорошо если) по 1-2 пользователя. Грубо говоря, редактор из транспортного цеха может публиковать новости транспортного цеха, редактировать общую страницу транспортного цеха, но не может ничего сделать с материалами отдела готовой продукции.

Решения навскидку такие:

1. Organic Groups (OG). Тут все понятно, но это overkill, по ощущениям. Никаких реальных групп не будет, вступать в них смысла нет, это чисто способ уложить задачу в готовое решение. Это я уже делал, все решаемо, но излишне тяжело в использовании.

2. Term Permissions (http://drupal.org/project/term_permissions). Сырой модуль, судя по issues. Суть — позволяет устанавливать права на использование определенных терминов таксономии. Сделать словарь со структурой, совпадающей со списком отделов, столько же ролей, распределить права. При добавлении сматериала позволяется выбрать только разрешенные термины (поле обязательное). Выводить страницы терминов (отделов) посредством views. Вроде все складно, но я этого не пробовал.

Есть какие-то еще варианты? Кто такое делал?

Спасибо за внимание!

Комментарии

Аватар пользователя zanami zanami 15 апреля 2013 в 9:05

Типы материалов и роли — это не выход. 10 разделов, 10 ролей и 20 типов материалов? При том, что типы у всех будут одни и те же, стандартные — страницы и статьи, полностью одинаковые по структуре.
В древовидных CMS бывают права на ветку (или раздел), как в файловой системе. Term Permissions эту идею реализует в Друпале, с некоторыми нюансами, но у меня не было опыта с этим модулем.

Аватар пользователя zanami zanami 15 апреля 2013 в 11:06

Тут уж скорее «типа материалов на подтипы» нужно разделять. На форумах есть «точка входа», для которой можно задать права, в Друпале нечему их назначать. Типы материалов, больше ничего полезного «из коробки» нет.

Аватар пользователя zanami zanami 15 апреля 2013 в 12:04

http://drupal.org/project/taxonomy_access

Automatically controls access to nodes (based on their taxonomy terms).
Three node access permission types: View, Update, Delete.

Не совсем то, насколько я вижу. Это решение для доступа к имеющимся материалам, а мне нужно вдобавок (и даже в первую очередь) решение для создания новых. Иными словами, роль А может создавать ноды и присваивать им термины X, Y или Z и больше никакие. Не похоже, чтобы taxonomy_access это решал.

Аватар пользователя zanami zanami 15 апреля 2013 в 12:14

Эм. Или я медленный? Вот здесь пишут:

* Просмотр позволяет пользователю получить доступ к материалу, помеченному данным термином.
* Обновление, Удаление позволяет пользователю обновлять и удалять всё содержимое, помеченное данным термином. Эти полномочия рекомендуется назначать только * администраторам содержимого.
* Создание позволяет пользователю создавать и редактировать материал, помечая его текущим термином.
* Вывод списка позволяет пользователю просматривать название данного термина в материале или в списке категорий. Он также управляет доступом к странице таксономии для данного термина. (странице вида "taxonomy/term/*", которая позволяет просмотреть список всех материалов сайта, помеченных данным термином).»

Действительно возможность разрешить роли пользвоаться термином при создании материала?