需要这段代码的帮助,这些代码响应用户#1但不响应其他登录或匿名用户
function module_menu_alter(&$items) {
$items["node/add/page"]['access callback'] = 'module_access_callback';
}
function module_access_callback(){
die('responding here - test');
}
有人能告诉我我做错了吗?
答案 0 :(得分:0)
好的事实证明答案实际上非常简单......
您正在调用menu_get_object()
来检索节点,但node/add/page
上不存在任何节点。事实恰恰相反;在页面上有一个节点可用于添加节点是没有意义的,因为它尚未创建! 403是其副作用。
你需要根据其他一些价值做出访问决定(通常是登录用户和权限,因为@kiamlaluno在他的回答中做了很好的解释)。
另外请确保您从访问回调中返回TRUE
或FALSE
,因为@kiamlaluno也声明:)
修改强>
只是说这部分是https://stackoverflow.com/questions/8342169/drupal-hook-menu-alter-menu-get-object-error的答案,这解释了为什么答案中提到的功能没有在问题中提及。