【问题标题】:Drupal permissions are not being applied未应用 Drupal 权限
【发布时间】:2011-06-22 21:51:59
【问题描述】:

为什么我的权限没有被应用?


$items['admin/mymodule'] = array(
    'page callback' => 'mymodule_admin',
    'access arguments' => array("admin mymodule"),
    'access callback' => TRUE,
    'type' => MENU_NORMAL_ITEM,
    'file' => 'mymodule.admin.inc',
    'title' => 'mymodule',
  );

function mymodule_perm(){ return array("admin mymodule", "earnings_report"); }

当我转到 Mysite/admin/mymodule 时,无需登录即可访问它。

admin/user/permissions 的权限已正确设置为仅授予“站点开发者”和“商店管理员”访问权限,并且匿名用户不属于这些角色。

我尝试转到 /admin/content/node-settings/rebuild 和 /admin/build/modules,但没有帮助。

权限“earnings_report”按预期工作,但“admin mymodule”没有。

谢谢!

【问题讨论】:

    标签: drupal


    【解决方案1】:

    'access callback' => TRUE, 行定义了谁可以访问admin/mymodule

    您已将其设置为始终为 TRUE,这意味着始终可以访问它。我认为您需要将其更改为:

    'access callback' => 'user_access',
    'access arguments' => array('admin mymodule'), 
    

    【讨论】:

    • 默认情况下,Drupal 使用user_access() 作为访问回调;如果您使用的是默认回调,则无需定义访问回调。需要定义访问参数,因为没有默认值。
    猜你喜欢
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多