Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Drupal 6:我怎么能;“关闭”;一页?_Php_Drupal - Fatal编程技术网

Php Drupal 6:我怎么能;“关闭”;一页?

Php Drupal 6:我怎么能;“关闭”;一页?,php,drupal,Php,Drupal,使用Drupal6,我只想为经过身份验证的用户禁用user/1/openid页面。如何操作?最好的方法(至少是IMHO)是转到“管理”部分的“权限”页面,并禁用权限,以便您的认证用户访问该特定功能 这样,您就不必使用任何挂钩或其他模块。默认情况下,只有具有“管理用户”权限的用户才能访问其他用户的openid页面,因此(正如Florian建议的那样),您应该检查您的已验证用户是否具有该权限,如果是,只需将其删除即可。这样他们只能访问自己的openid页面 如果出于某种(难以想象的)原因,您真的希望

使用Drupal6,我只想为经过身份验证的用户禁用user/1/openid页面。如何操作?

最好的方法(至少是IMHO)是转到“管理”部分的“权限”页面,并禁用权限,以便您的认证用户访问该特定功能


这样,您就不必使用任何挂钩或其他模块。

默认情况下,只有具有“管理用户”权限的用户才能访问其他用户的openid页面,因此(正如Florian建议的那样),您应该检查您的已验证用户是否具有该权限,如果是,只需将其删除即可。这样他们只能访问自己的openid页面

如果出于某种(难以想象的)原因,您真的希望经过身份验证的用户拥有“管理用户”权限,并且实际上只是阻止对
'user/1/openid'
的访问,那么您必须覆盖
'user/%user/openid'
菜单路径的访问回调(由openid模块注册)使用自己的自定义回调函数


要做到这一点,您需要实现,它将使用系统中任何模块注册的所有菜单路径项的数组来调用。在该数组中,您需要找到定义
'user/%user/openid'
的项,并将'access callback'条目中的函数名从其默认的
'user\u edit\u access'
交换为您自己的自定义回调函数名。在这种情况下,对于要阻止的特定页面,您将返回FALSE(但对于用户1可能不是这样),对于所有其他情况,您将调用原始回调函数。

No-我的意思是阻止对他们自己的openid页面的访问。但我认为你的建议也能达到同样的效果,现在我只想弄清楚如何…没有访问用户openid页面的特殊权限-如果启用openid,每个用户都可以访问自己的用户//openid页面。