Benutzerrechte Backend

Gesperrt
s3b
Beiträge: 21
Registriert: Do 17. Jul 2003, 15:02
Kontaktdaten:

Benutzerrechte Backend

Beitrag von s3b » Di 31. Aug 2004, 10:53

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

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 31. Aug 2004, 11:04

ä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.

s3b
Beiträge: 21
Registriert: Do 17. Jul 2003, 15:02
Kontaktdaten:

Beitrag von s3b » Di 31. Aug 2004, 11:10

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

alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag von alpi » Di 31. Aug 2004, 15:06

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?

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 31. Aug 2004, 16:22

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

Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

Löschen von Einträgen

Beitrag von Uwe » Mi 1. Sep 2004, 13:13

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

s3b
Beiträge: 21
Registriert: Do 17. Jul 2003, 15:02
Kontaktdaten:

@uwe

Beitrag von s3b » Mi 1. Sep 2004, 16:56

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!

Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

Beitrag von Uwe » Mi 1. Sep 2004, 17:01

schittebön

Gesperrt