【问题标题】:How can I create a permission using an alter hook?如何使用 alter hook 创建权限?
【发布时间】:2015-12-12 20:44:32
【问题描述】:

特别是,我试图阻止用户在没有某些权限的情况下访问 admin/config。我猜我的代码会是这样的:

    function mymodule_menu_alter(&$items) {
    $items['admin/config']['????'] = ?????;
}

我在正确的轨道上吗?谢谢。

【问题讨论】:

    标签: drupal drupal-7 drupal-modules


    【解决方案1】:

    你走的很好。您可以使用 hook_permission 创建权限(只返回一个数组)并使用您的新权限覆盖您的菜单条目。

    function mymodule_menu_alter(&$items) {
      $items['admin/config']['access arguments'] = array('your_new_permission');
    }
    

    如果您不想创建自定义权限,可以使用 hook_menu api 的“访问回调”。

    问候。

    【讨论】:

    • 非常感谢!现在我有 'function mymodule_menu_alter(&$items) { $items['admin/config']['access arguments'] = array('Administer users'); }'。这不应该意味着只有具有“管理用户”权限的用户才能查看 admin/config 吗? IT 似乎不是这样工作的......
    • 您是否使用 hook_permission 创建了“管理用户”?如果是,请重命名它,因为另一个模块已经存在此权限。如果您使用您的 drupal 管理员(在安装过程中使用 uid = 1 创建的第一个用户),您将看不到任何更改,因为该用户是超级管理员并且拥有 all 权限。为您的测试创建一个新的管理员用户。
    猜你喜欢
    • 2013-01-15
    • 1970-01-01
    • 2017-10-16
    • 2014-05-03
    • 1970-01-01
    • 2013-07-17
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多