匿名用户的 Drupal 权限

Drupal permission for anonymous user

我已经创建了将文件上传到数据库的模块,只有管理员可以上传该文件。所以我有 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.'),
    ),

但还是不行。是否有任何其他解决方案如何匿名用户可以查看带有自定义节点的页面?

据我所知,只需在CMS权限页面中查看匿名用户角色应检查的权限"view published content"即可。在您使用任何单个节点权限设置之前,查看 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 content'(查看发布的内容)的人都可以看到这些节点。

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

希望对您有所帮助!