Як використовувати "користувач, який увійшов" як аргумент доступу для MENU_CALLBACK?


15

Хотілося б вимагати, щоб користувачі входили в систему, щоб отримати доступ до певного MENU_CALLBACK.

Далі працює, але лише для облікового запису адміністратора. Постійним користувачам все ще заборонено доступ:

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

Має бути аргумент доступу, який просто перевіряє автентифікованих користувачів?


Якщо немає можливості це зробити, я буду створювати свій власний дозвіл, використовуючи прикріпку_контроля () та призначаючи цим дозволеним аутентифікованим користувачам.
jdu

Відповіді:


29

access argumentsпризначений для аргументів, які будуть передані функції зворотного дзвінка ... access callbackзамість цього потрібно використовувати :

'access callback' => 'user_is_logged_in'

Оскільки user_is_logged_in()аргументи не беруть, ви можете безпечно видалити цей access argumentsпункт меню.

Ваш поточний код працює для облікового запису адміністратора лише тому, що типовим access callbackє типовий параметр user_access(), який обходить перевірку доступу для користувача 1.


2
Тож навпаки 'access callback' => 'user_is_anonymous'.
leymannx

1
Для Drupal 8 у розділі "вимоги" у файлі YAML додайте це: _role: 'автентифіковано'
coderama
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.