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?


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.