Seite 1 von 1

Benutzerrechte Backend

Verfasst: Di 31. Aug 2004, 10:53
von s3b
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

Verfasst: Di 31. Aug 2004, 11:04
von timo
ä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.

Verfasst: Di 31. Aug 2004, 11:10
von s3b
Hach scheiße, zu kompliziert für das Projekt. Dann bekommt er halt Adminrechte... ;-)

Dank Dir aber trotzdem - das Problem ist mir schon öfter über den Weg gelaufen, beim nächsten Mal habe ich dann einen guten Ansatz.

Gruß
seb

Verfasst: Di 31. Aug 2004, 15:06
von alpi
dazu hätte ich noch ne frage an Timo

wenn ich zb. einen Redakteur News schreiben lassen will, was muss ich dann in die con_aktions eintragen? Und was ist die areaID, alt_name, code und location??
Was muss ich dann noch machen, damit ich jedem User diese Rechte geben kann?

Verfasst: Di 31. Aug 2004, 16:22
von timo
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

Löschen von Einträgen

Verfasst: Mi 1. Sep 2004, 13:13
von Uwe
Das Problem mit den Rechten habe ich so gelöst
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;
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

@uwe

Verfasst: Mi 1. Sep 2004, 16:56
von s3b
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!

Verfasst: Mi 1. Sep 2004, 17:01
von Uwe
schittebön