2011-10-14 16 views

答えて

2

Drupalのモジュール全体にアクセス権を与えるという概念はなく、モジュールが定義するページだけです。通常これは、hook_menu()を実装してページを定義し、次にaccess callbackまたはaccess argumentsのいずれかを指定することによって行われます。

function mymodule_menu() { 
    $items['some/path'] = array(
    'title' => 'Some Title', 
    'page callback' => 'mymodule_callback', 
    'access callback' => 'mymodule_some_path_access' 
); 

    return $items; 
} 

function mymodule_some_path_access() { 
    global $user; 

    if ($user->foo == 'bar') { 
    // Access allowed, return TRUE 
    return TRUE; 
    } 

    // Access not allowed, return FALSE 
    return FALSE; 
} 

user_access関数に渡される引数を定義しています

最初

は、アクセスの決定を行うために呼び出される関数を定義します。これは通常、あなたのモジュールが提供する権限に基づいて行われます:

function mymodule_menu() { 
    $items['some/path'] = array(
    'title' => 'Some Title', 
    'page callback' => 'mymodule_callback', 
    'access arguments' => array('access mymodule') 
); 

    return $items; 
} 

function mymodule_perm() { 
    return array(
    'access mymodule' 
); 
} 

(Drupalののアクセス権の管理領域に定義されている)彼らは許可「アクセスのmymodule」を持っていない限り2番目の例では、ユーザがアクセスを拒否されます。

希望すること

関連する問題