您可以實現hook_perm
爲你的模塊提供了一組自定義權限:
function mymodule_perm() {
return array('my module permission');
}
然後在hook_menu
您的菜單項使用access arguments
你的建議:
function mymodule_menu() {
$items['admin/setting/modname/custom1'] = array(
'title' => 'Settings',
'page callback' => 'mymodule_callback',
'access arguments' => array('my module permission')
);
return $items;
}
一旦你已經安裝了您的模塊/已清除的Drupal緩存進入權限管理頁面,並將您的新權限授予所需的角色,具有該角色的用戶將(理論上)能夠訪問它。
我說「理論上」,因爲如果您的路徑位於admin/
下,那麼角色也需要access administration pages
權限才能查看頁面,這會引入潛在的安全問題。您最好的選擇是將路徑更改爲admin/
以外的其他位置,以避免必須處理此問題。