Como usar o "usuário logado" como argumento de acesso para um MENU_CALLBACK?

16

Gostaria de exigir que os usuários façam login para acessar um determinado MENU_CALLBACK.

O seguinte funciona, mas apenas para a conta de administrador. Usuários regulares ainda têm acesso negado:

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

Deve haver um argumento de acesso que apenas verifique se há usuários autenticados?

jdu
fonte
Se não houver maneira de fazer isso, eu estarei criando minha própria permissão usando hook_permission () e atribuindo essa permissão aos usuários autenticados.
JDU

Respostas:

29

access argumentsé para os argumentos que serão passados ​​para a função de retorno de chamada ... você precisa usar access callback:

'access callback' => 'user_is_logged_in'

Como user_is_logged_in()não aceita argumentos, você pode remover com segurança o access argumentsseu item de menu.

Seu código atual funciona para a conta de administrador apenas porque o padrão access callbacké user_access()ignorar a verificação de acesso do usuário 1.

Clive
fonte
2
O oposto então é 'access callback' => 'user_is_anonymous'.
Leymannx
1
Para o Drupal 8 em "requisitos" no seu arquivo YAML, adicione este: _role: 'authenticated'
coderama