匿名用户的Drupal权限

时间:2017-05-21 17:50:32

标签: php mysql drupal drupal-7 drupal-permissions

我创建了用于将文件上传到数据库的模块,只有管理员可以上传该文件。所以我有hook_permission来管理员上传文件:

function upload_permission() {
  return array(
    'administer uploader' => array(
      'title' => t('Administer Uploader'),
      'description' => t('Allow the following roles to upload files files to the server.'),
    ),
  );
} 

此外,我创建了几个路径为files/node/%的自定义节点,现在我需要匿名用户才能查看包含自定义节点的页面。下面我添加此权限:

'access files/node/%' => array(
      'title' => t('Access Files'),
      'description' => t('Access Files.'),
    ),

仍然无法正常工作。是否有其他解决方案匿名用户如何使用自定义节点查看页面?

1 个答案:

答案 0 :(得分:2)

据我所知,只需查看权限即可查看发布的内容"在CMS权限页面中,应检查匿名用户角色。要查看Drupal节点,在使用任何单个节点权限设置之前,不需要特定权限。另外,对于您的自定义节点路径,请使用hook_menu中的以下设置数组,使所有路径都可以使用URL' files / node /%'。

/**
* Implements hook_menu().
*/
function yourmodule_menu() {
    $items = array();    
    $items['files/node/%'] = array(
        'title' => 'Files node',
        'page callback' => '_yourmodule_page_callback',
        'page arguments' => array(2),
        'access arguments' => array('access content'),
        'type' => MENU_CALLBACK,
      );
    return $items;
}

请注意下面的代码行,这表示任何拥有权限的人都可以访问内容' (查看已发布的内容)可以看到这些节点。

'access arguments' => array('access content'),

希望这会对你有帮助!