私は 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;
}
次の 2 つの関数があります。1 つはデータを取得するためのもので、もう 1 つはデータを表示するためのものです。
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
ません。関数が anon ユーザーに対して実行されないようですが、実行されますdelivery callback
。
anonユーザーがこれを機能させるにはどうすればよいですか?