[gelöst] Menüsystem und Berechtigungen
Eingetragen von tdemuth (24)
am 13.08.2009 - 22:55 Uhr in
am 13.08.2009 - 22:55 Uhr in
Hi,
ich habe ein kleine Modul entwickelt, das eine Reihe von Menüeinträgen via hook_menu() zur Verfügung stellt. Diese Einträge sehen z. B. wie folgt aus:
$items['messages/inbox/my'] = array(
'title' => 'Your Messages',
'description' => 'All messages received by you.',
'access arguments' => array('view received messages'),
'type' => MENU_DEFAULT_LOCAL_TASK,
'file' => 'message.page.inc',
'weight' => 0,
);
Anschließend habe ich die in hook_menu() von mir angelegten Pfade u. a. in den Primary Links verlinkt. Nun habe ich jedoch das Problem, das ein Benutzer, der nicht die von hook_menu() geforderten Berechtigungen besitzt, trotzdem die Verlinkung in den Primary Links sehen kann und den Pfad auch aufrufen darf! Was habe ich vergessen einzustellen?
mpG
Tobias
- Anmelden oder Registrieren um Kommentare zu schreiben
hook_perm?
am 14.08.2009 - 07:09 Uhr
Hallo Tobias,
hast du denn einen hook-perm() geschrieben, wo du die Rechte vergeben kannst? Darunter muss dann auch dieses genannte Recht sein 'access arguments' => array('view received messages') und muss im Adminbereich unter den Berechtigungen eingestestellt werden, wo es nach der Definition des Hooks erscheint.
Zur Syntax müsste ich das nachschlagen. Jedenfalls stimmt das mit dem 'access arguments', wie gesagt noch den hook_perm() machen.
Eigentlich sollte es dann funktonieren, denke ich mal.
Gruss
minou
-------------------------------------------------------------------
bitte [gelöst] bei Eröffnungsbeitrag einfügen, wenn Problem gelöst ist.
Testproblem!?
am 14.08.2009 - 10:26 Uhr
Hallo minou,
einen hook_perm() hatte ich schon hinzugefügt. Ich habe gerade einen ganz neuen Benutzer hinzugefügt, um das Ganze nochmal auszuprobieren - und siehe da, jetzt geht es. Ich weiß nicht genau, ob ich gestern Nacht was falsch interpretiert habe oder Drupal sich irgendwo verschluckt hatte ...
Danke für die Hilfe!
Tobias
Cache
am 14.08.2009 - 10:35 Uhr
Ich vermute es lag eher an den gecachten Einträgen des Menüs.
Solltest Du das "Admin Menu" installiert haben, kannst Du den Cache darüber ganz einfach leeren. Ansonsten hilft es auch, die Einstellungen unter admin/build/menu einmal kurz zu speichern.
hth,
Stefan
--
sei nett zu Deinem Themer
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
liegt nicht am testen...
am 14.08.2009 - 10:49 Uhr
Hallo Tobias,
Bei den Menüs solltest du meines Wissens nach Änderungen immer admin->strukturierung->Module aufrufen, damit die Strukturen neu aufgebaut werden.
Der Vollständigkeit halber :-)
Gruss
minou
Edit - Eintrag (stBorchert) zu spät gesehen: das mit dem Cache weiss ich jetzt nicht sicher, aber Stefan ist sehr erfahren und kennt die "Problemchen" um Drupal gut.
Jedenfalls sollte gemäss dem Entwicklerhandbuch auch das mit genanntem Aufruf gemacht werden.
Kann mir gut vorstellen das auch der Cache Einfluss hat, wollte aber nicht mutmassen...
Um meinen Senf auch noch
am 14.08.2009 - 14:11 Uhr
Um meinen Senf auch noch dazu zugeben (der vollständigkeitshalber :-P), das Modul devel stellt ein Menü zur verfügung. durch dieses Menü kann man alle Menüs der Seite mit nur einem Klick neu aufbauen ohne den ganzen Cache leeren zu müssen.
OK, vielen Dank
am 14.08.2009 - 14:48 Uhr
Ok, vielen Dank für die wertvollen Hinweise.