Drupal 7: как ограничить доступ к файлам для определенных пользовательских ролей - PullRequest
6 голосов
/ 24 марта 2012

Мне нужно разработать сайт на Drupal 7. У меня есть несколько типов контента с полями File в CCK.И доступ к узлам этих типов должен быть предоставлен только конкретной роли пользователя Drupal.И в любой момент администратор сайта должен иметь возможность сделать эти Узлы «общедоступными» или «частными».

Я могу сделать узлы видимыми только для определенных пользовательских ролей, но этого недостаточно.Если анонимный пользователь знает путь к файлу (www.mysite.org/hidden_files/file1), он может загрузить его.

Какой самый элегантный способ решения этой проблемы?

Спасибовперед.

1 Ответ

9 голосов
/ 24 марта 2012

Ознакомьтесь с этой документацией здесь: http://drupal.org/documentation/modules/file

В частности, раздел под названием «Управление расположением файлов и доступом», в котором рассказывается о настройке частного хранилища данных (все это поддерживается Drupal 7, ему просто нужнобыть настроенным).

Перефразируя, создайте папку , такую ​​как:

sites / default / files / private

Поместите файл .htaccess в эту папку со следующим, чтобы предотвратить прямой доступ к файлам через Интернет:

Запретить все

(в документации утверждается, что следующий шаг выполняет вышеупомянутые шаги автоматически, к сожалению, я не проверял это, но вы можете сэкономить время, если пропустите два вышеупомянутых шага)

Журналв интерфейсе администратора Drupal перейдите по адресу / admin / config / media / file-system , настройте частный URL и выберите личные файлы, обслуживаемые Drupal, в качестве метода загрузки по умолчанию.

Для того, чтобыопределить мелкозернистый доступ к нетdes и поля, вы можете использовать Доступ к контенту: http://drupal.org/project/content_access

Вам также необходимо отредактировать типы контента и установить поля загрузки файлов / изображений для сохранениязагруженные файлы в личные файлы вместо общих файлов.

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

Надеюсь, это поможет.

...