0

さまざまなタスクのためにAJAX経由でアクセスするページのリストを持つモジュールがあります

/spower
/spower-geometry
...

. 匿名ユーザーがすべてにアクセスできるようにする単一のアクセス許可を作成しようとしています。管理者としてログインしている場合、すべてが想定どおりに機能します。ただし、匿名ユーザーには 403 エラーが発生します。パスごとに異なる許可フックが必要ですか? これは私がこれまでに持っているものです:

function spower_permission() {
  return array(
    'access intro page' => array(
    'title' => t('Access Intro page'),
    'description' => t('Allow anonymous users to access spower intro page'),
  ),
  'access SparkerPower app' => array(
    'title' => t('Access full page'),
    'description' => t('Allow users to access full spower app'),
   ),
 );
}

function spower_menu() {
    $items = array();
    $items['spower'] = array(
      'title' => t('SparkerPOWER'),
      'page callback' => 'spower_form',
      'access arguments' => array('access SparkerPower app'),
      'description' => t('form for SparkerPOWER. Enter your house information, and learn how solar panels can help you.'),
      'type' => MENU_CALLBACK,
    );
    $items['spower_geometry/%'] = array( //send data from Jquery (map areas)
      'title' => 'Ajax callback',
      'description' => 'Callback for jQuery area AJAX request.',
      'page callback' => 'spower_geometry_callback',
      'page arguments' => array(1),
      'access arguments' => array('access spower geometry'),
      'access callback' => 'user_access',
      'type' => MENU_CALLBACK,
    );

助けてくれてありがとう!

4

2 に答える 2

0

いいえ、で定義されたパスごとに異なるフックは必要ありませんHOOK_MENU。を使用すると、コードは正しくなりaccess argumentsます。access callback2 番目のメニュー項目でを指定する必要はありません。

匿名ユーザーが定義済みのメニュー パスにアクセスできるように、バックエンドのアクセス許可も更新しましたか? の下にありadmin/people/permissionsます。

于 2013-10-09T18:23:22.350 に答える
0

に変更しようとしaccess argumentsましたがTRUE、うまくいきませんでした。次に、以前に定義した に変更access argumentsしました。array('access SparkerPower app')これは機能し、匿名ユーザーで必要なすべての URL パスにアクセスできました。

于 2013-10-10T16:07:02.780 に答える