Drupal:通过权限限制文件上载

时间:2017-10-20 17:11:05

标签: drupal drupal-7

在我的Drupal 7网站上,我正在寻找一种方法,只允许具有特定角色的用户上传PDF文件。但是,所有用户都可以上传其他文件类型(例如jpg,mp4)。

是否有可以为我完成该工具的模块或代码?

2 个答案:

答案 0 :(得分:0)

你不需要一个模块。 您可以编写hook_form_alter并执行以下操作

 1. add help-text based on role.
if role = 1
#form['field_name']['#description'] = t('Help test 1')
elseif role = 2
#form['field_name']['#description'] = t('Help test 2')
  1. 添加自定义验证以根据角色检查文件扩展名。

    $ form ['#validate'] [] ='validate_function'; function validate_function 如果role = 1 验证文件类型1 elseif role = 2 验证文件类型2

  2. 喝彩!

答案 1 :(得分:0)

您可以使用hook_form_alter来实现此目的。

加载您的用户对象

global $user;
$valid_role = 'yourGivenRole';

if(in_array($valid, $user->roles)){
     $form['field_name']['und'][0]['#upload_validators']['file_validate_extensions'][0]  = 'pdf';
}