「ログインしたユーザー」をMENU_CALLBACKのアクセス引数として使用する方法は?


16

特定のMENU_CALLBACKにアクセスするには、ユーザーがログインする必要があります。

以下は機能しますが、管理者アカウントに対してのみ機能します。通常のユーザーは引き続きアクセスを拒否されます。

'access arguments' => array('user_is_logged_in')

認証されたユーザーをチェックするだけのアクセス引数が必要ですか?


これを行う方法がない場合、hook_permission()を使用して独自の許可を作成し、認証されたユーザーにその許可を割り当てます。
jdu

回答:


29

access argumentsコールバック関数に渡される引数用です... access callback代わりに使用する必要があります:

'access callback' => 'user_is_logged_in'

user_is_logged_in()引数を取らないのでaccess arguments、メニュー項目から安全に削除できます。

現在のコードaccess callbackuser_access()、デフォルトがユーザー1のアクセスチェックをバイパスするため、adminアカウントに対してのみ機能します。


2
反対はそうです'access callback' => 'user_is_anonymous'
レイマンクス

1
YAMLファイルの「要件」の下にあるDrupal 8の場合、これを追加します:_role: 'authenticated'
coderama
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.