我对drupal很陌生,所以如果我没有使用正确的术语,请多多包涵。我试图让一个愚蠢的基本应用程序访问一个drupal url——这个应用程序不能做任何复杂的身份验证。
否则,这个 drupal 系统需要身份验证,并且所有其他菜单挂钩都需要使用'access arguments' => array('access content')
甚至在寻找使用 drupal 之类的简单身份验证方法的解决方案之前,我已经尝试使用 drupal文件http://user:password@server.com/awesome/member/12345
中的以下代码块提供匿名访问.module
function awesome_module_menu() {
$items['awesome/member/%'] = array(
'title' => 'Awesome member',
'type' => MENU_NORMAL_ITEM,
'page callback' => 'aw_memberdata_fetch',
'delivery callback' => 'aw_memberdata_deliver',
'access arguments' => TRUE // this supposedly should allow anonymous access - from the web
);
return $items;
}
我有这两个功能,一个是获取数据,一个是显示它:
function aw_memberdata_fetch(memberId)
{
//fetch array of objects from DB
...
return $items;
}
function aw_memberdata_deliver($items)
{
switch(arg(3)) //format, comes after items
{
case 'json':
drupal_json_output($items);
break;
default:
$output = makeHtml($items); //makes HTML
drupal_deliver_html_page($output);
}
}
使用经过身份验证的浏览器,这可以按预期工作。从没有身份验证 cookie 的浏览器中,我可以查看 HTML,但结果不存在,这就像该page callback
功能不会为匿名用户运行,但delivery callback
可以。
我如何为匿名用户完成这项工作?