如何在drupal 7中为所有类型的用户设置子模块访问权限?

时间:2013-02-28 10:17:25

标签: drupal drupal-7

我的用户访问权限复选框不适用于admin,authenticated,anonymous     user.I已经创建了子模块并使用了hook_permission,它也显示了admin上的复选框     但是没有检查和取消检查。请给我解决方案?     感谢

1 个答案:

答案 0 :(得分:1)

你可能因为没有代码示例而被拒绝了。它确实很难回答你的问题,但它非常简单,所以我会试一试。

如果您在权限页面上看到复选框,那么我知道您的hook_permission()很可能已正确声明。

您没有提及如何检查权限,因此我将介绍两种方法:

1)如果您使用的是hook_menu(),请查看access_arguments行。这就是你为整个页面设置权限的方法。

function mymodule_menu() {
  $items['abc/def'] = array(
    'page callback' => 'mymodule_abc_view',
    'access arguments' => array('administer my module')
  );
  return $items;
}

2)如果您想要检查一段代码中的权限,作为一个条件,您可以这样使用它。

if (user_access('administer my module')) {
  // show administrator stuff here
}