Доступ к личным файлам только зарегистрированным пользователям в drupal

#file-permissions #drupal-8

#файл-права доступа #drupal-8

Вопрос:

У меня есть пользовательская форма с полем managed_file для загрузки видео в моем пользовательском модуле drupal 8. После загрузки видео оно доступно всем. Я хочу ограничить доступ к видео для зарегистрированных пользователей или определенных ролей пользователей. Я попробовал модуль «Разрешение на загрузку личных файлов», но там всегда написано «запрещено для всех». Я настроил путь к частной файловой системе, и файлы загружаются в частный каталог, но недоступны через браузер. Приведенный ниже код поля моей пользовательской формы: это поле из моей пользовательской формы.

 $form['activity']['videos'] = [
    '#type'                 => 'managed_file',
    '#upload_location'      => 'private://activity/videos/',
    '#multiple'             => TRUE,
    '#description'          => t('Allowed extensions: mp4 avi'),
    '#title' => t('Upload Video'),
    '#upload_validators'    => [
      'file_validate_extensions'    => array('mp4 avi')
    ],
    '#weight' => '3',
    '#ajax' => [
        'callback' => '::fix_ajax_callback',
    ],
    '#disabled' => (!empty($activity))? TRUE : FALSE,
];
 

Ответ №1:

Вы пробовали следующие настройки в www.drupal.org/project/private_files_download_permission:

В разделе «Разрешенные пользователи» и «Разрешенные роли» выберите, кто может загружать эти файлы.