Tag Freunde,
ich habe ein Gästebuchmodul entworfen bzw. aus diversen hier geposteten zusammengestückelt, bei dem der Redakteur die Möglichkeit hat, bestimmte Einträge zu löschen bzw. zu kommentieren. Im Moment funktioniert das in der Form, das im Modul-Output eine Abfrage if ($perm->have_perm('admin') (oder ähnlich - mache das hier gerade aus dem Kopf) auf die aktuellen Administratorrechte prüft, die scheinbar ja nur im Backend gesetzt sind. Sollte dem so sein, werden die entsprechenden Buttons und Boxen eingeblendet.
Funktioniert auch wunderbar, nur möchte ich, dass Redakteure ohne Admin-Rechte, aber mit z.B. dem Recht "Artikel löschen", diese Änderung durchführen können.
Der Blick in die interne Contenido-Programmierung hat mir bisher nicht wirklich weitergeholfen, die Suche hier im Forum auch nicht besonders - gibts da keine einfachere Lösung bzw. wurde das hier schon einmal behandelt?
Danke schonmal für die Hilfe...
Seb
Benutzerrechte Backend
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
ähm nein....
$perm->have_perm prüft auf die Aktion ab, z.b.:
$perm->have_perm("guestbook", "gb_delete_entry");
Du mußt aber erstmal die Aktion in die Actions-Tabelle eintragen und auch entsprechend ins Backend einbauen. Bei einem Administrator ist have_perm immer im entsprechenden Mandanten wahr, da er alle Rechte im Mandanten hat, beim sysadmin ist diese Abfrage immer wahr.
$perm->have_perm prüft auf die Aktion ab, z.b.:
$perm->have_perm("guestbook", "gb_delete_entry");
Du mußt aber erstmal die Aktion in die Actions-Tabelle eintragen und auch entsprechend ins Backend einbauen. Bei einem Administrator ist have_perm immer im entsprechenden Mandanten wahr, da er alle Rechte im Mandanten hat, beim sysadmin ist diese Abfrage immer wahr.
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
area-id hängt mit dem backend zusammen - schau mal in dem development forum, da gabs einen beitrag dazu.
location und alt_name werden nicht verwendet, code wird verwendet, wenn du automatisch bei einer aktion auch noch code ausführen möchtest...
was du noch machen musst kann ich dir pauschal nicht beantworten...du mußt dir alles ansehen und dich von hand durchwühlen, eine anleitung gibts nicht
location und alt_name werden nicht verwendet, code wird verwendet, wenn du automatisch bei einer aktion auch noch code ausführen möchtest...
was du noch machen musst kann ich dir pauschal nicht beantworten...du mußt dir alles ansehen und dich von hand durchwühlen, eine anleitung gibts nicht
Löschen von Einträgen
Das Problem mit den Rechten habe ich so gelöst
Code Gästebuch von x-28 (danke fürs modul ); Gästebuch Ausgabe output:
Da mein Redakteur kein Admin ist aber Gbook-Einträge löschen können soll hab ich das Recht für den client vergeben. Ist nicht so fein abstimmbar aber funzt gehörig.
Viele Grüsse vom Bodensee, Uwe
Code Gästebuch von x-28 (danke fürs modul ); Gästebuch Ausgabe output:
Code: Alles auswählen
$accessGranted = false;
$permissions = $auth->auth["perm"];
$permissions = explode(',', $permissions);
foreach ($permissions as $perm)
f ($perm == "sysadmin" || $perm == "client[".$client."]")
$accessGranted = true;
Viele Grüsse vom Bodensee, Uwe
@uwe
Supi - das klappt schon! Klar ists ungenau - aber ich wollte ja auch einfach nur nicht meinem Redakteur das Recht einräumen, in meinen Templates zu werkeln... Schankedön!