Je veux restreindre l'accès à certains item du menu...

Catégories:

Bonjour,
Je vous explique mon problème :
je souhaite restreindre l’accès à certains éléments du menu d’administration selon le rôle.
exemple : /admin/build/menu/add
Si j’enlève le droit «administrer le menu» le rôle n’a accès à aucune page commencant par «/admin/build/menu/ «
Si je donne le droit «administrer le menu» le rôle a accès à toutes les pages commencant par «/admin/build/menu/» => «/admin/build/menu/add» «/admin/build/menu/list» «/admin/build/menu/settings»

Je ne trouve aucun module capable de faire ça…
Est ce que cela vient du fait que ce soit des items de menu du type MENU_LOCAL_TASK ?

#

Salut Beho,

Et le module Menu Per Role ça donne quoi ?

http://drupal.org/project/menu_per_role

Cordialement,

Thib

#

Menu Per Role ne fonctionne pas dans ce cas là : on ne peut pas restreindre les droits d’accès pour les items qui sont du type MENU_LOCAL_TASK (c’est ceux qui s’affichent sous forme d’onglets)…

#

Salut beho,

As-tu trouvé une solution ?
Je suis dans la même mer… situation.
Merci

Steve.

#

Le principe des autorisations pour les menus, c’est de tester les droits sur ce à quoi le menu donne accès. En général, on essaie de jouer avec cet aspect là des permissions.

Sinon, il y pléthore de modules sur le sujet : http://drupal.org/project/modules ?filters=drupal_core%3A87%20bs_project_…

#

Merci
c’est cool.

En fait j’ai fait un mimi module :

/**
* Implementation of hook_perm().
*/
function NOMMODULE_perm() {
    $perms[] = "autoriser ajout/param menu";
return $perms;
}

function NOMMODULE_access() {
    if (!user_access('administer menu')) { return FALSE; }
   if (!user_access('autoriser ajout/param menu')) { return FALSE;   }
  return TRUE;
}

function NOMMODULE_menu_alter(&$items){
    $items['admin/build/menu/add']['access callback'] = 'NOMMODULE_access';
  $items['admin/build/menu/settings']['access callback'] = 'NOMMODULE_access';
}

Steve.

Syndiquer le contenu