¿Cómo usar "usuario conectado" como argumento de acceso para un MENU_CALLBACK?

16

Me gustaría solicitar que los usuarios inicien sesión para acceder a un MENU_CALLBACK en particular.

Lo siguiente funciona, pero solo para la cuenta de administrador. Los usuarios regulares aún tienen acceso denegado:

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

¿Debe haber un argumento de acceso que solo busca usuarios autenticados?

jdu
fuente
Si no hay forma de hacerlo, crearé mi propio permiso usando hook_permission () y asignaré ese permiso a los usuarios autenticados.
jdu

Respuestas:

29

access argumentses para los argumentos que se pasarán a la función de devolución de llamada ... necesita usar access callbacken su lugar:

'access callback' => 'user_is_logged_in'

Como user_is_logged_in()no toma ningún argumento, puede eliminarlo con seguridad access argumentspara su elemento de menú.

Su código actual funciona para la cuenta de administrador solo porque el valor predeterminado access callbackes user_access(), que omite la verificación de acceso para el usuario 1.

Clive
fuente
2
Lo contrario es entonces 'access callback' => 'user_is_anonymous'.
leymannx
1
Para Drupal 8 bajo "requisitos" en su archivo YAML, agregue esto: _role: 'authenticated'
coderama