phpbar.de logo

Mailinglisten-Archive

[php] Rechtesystem fuer Framework

[php] Rechtesystem fuer Framework

Volker Goebbels goebbels at gmx.de
Fre Mai 13 09:26:15 CEST 2005


Aloha,

> Ich bin noch in der Brainstorming Phase und würde gern wissen wie ihr 
> so etwas gelöst habt oder lösen würdet.

für ein aktuelles Kundenprojekt haben wir das mit phpGacl umgesetzt.

Die gesamte Umsetzung wurde modularisiert in Authentifizierung und
Autorisierung.

Authentifiziert wird im Normalfall hier über eine Kombination aus NTLM mit
Anschließendem LDAP Lookup und einer SAP-User-DB auf einem Oracle.

Anschließend erhält man ein Usertoken (aka Userid). Alle Rechte, Gruppen
etc. die hiermit dann zusammen hängen, haben wir mit phpGacl umgesetzt.
phpGacl sieht auf den ersten Blick etwas abstrakt und komplex aus, ist aber
relativ performant umgesetzt und kann auch gut durchschaut werden, wenn man
die abstrakte Terminologie einmal verstanden hat ;)

Wenn User bestimmte Bereiche nur mit bestimmten Rechten sehen bzw. nutzen
können, wird ein Rechtecheck auf verschiedenen Ebenen benötigt:
- die Navigation ist Rechte-abhängig
- evtl. ist der Detailgrad schon bei der reinen Ansicht eines 
  Softwaremoduls unterschiedlich (HR Verwalter dürfen die Bankdaten eines
  Mitarbeiters sehen, andere Mitarbeiter nur die Kontaktdaten)
- die Funktionalität eines Moduls ist Rechte-abhängig (Admins dürfen 
  schreiben, User nicht etc.)

Dies bedeutet, daß man Rechtechecks auf mehreren Ebenen hat. Dafür muß ein
entsprechendes System möglichst performant sein, egal ob selbst entworfen
oder "zugekauft". Zudem stellt sich die Frage, welche Schnittstellen die
Rechteverwaltung nach außen benötigt (Stichwort XACL, Single-Sign-On etc.)

Gibt also im Zweifelsfall eine ganze Reihe Fragen bzw. Problemfälle ;)

Viele Grüße,
Volker Göbbels

-- 
Arachnion GmbH & Co. KG                  Dr. Volker Göbbels
Business Communication                     vmg at arachnion.de
Sandkaulbach 4                       Tel. +49 (0) 241-55911-06
52062 Aachen                          Fax +49 (0) 241-55911-07

php::bar PHP Wiki   -   Listenarchive