sockä Geschrieben 15. Januar 2008 Geschrieben 15. Januar 2008 Hallo, ich wollte mal wissen, wir euer Vorgehen ist, wenn ihr eine Webanwendung in PHP entwickelt und die Anwendung mit verschiedenen Masken, abhängig vom jeweiligen Benutzer, arbeitet. Beispiel - es gibt eine Anwendung an deren erster Stelle ein Login steht. Der "Admin" sieht nach erfolgreichen Login z.B. Punkte wie Administration oder Konfiguration etc. Ein anderer User ist der Gruppe "Leser" zugeordnet und soll keine Eingabemöglichkeit besitzen, sondern lediglich nur Inhalte dargestellt bekommen. Ein anderer User ist "Sacharbeiter" und kann eingaben in Formularen etc. vornehmen. Ich hoffe, ihr versteht, was ich meine. Bisher gehe ich immer so damit um, dass ich Gruppen definieren (z.B. in einer Datenbank) und dann im PHP frage (if Gruppe == Admin) -> zeige alles. Das ist aber nicht besonders elegant und auch nicht gerade wartungskonform. Also suche ich nach neuen Ideen... :-) Zitieren
flashpixx Geschrieben 15. Januar 2008 Geschrieben 15. Januar 2008 Wie wäre es mit einer OOP Basis, ab PHP5 auch sehr schön umzusetzen: if $oUser->isAdmin() {..ich bin der Meister..} else {..ich darf nicht alles..} HTH Phil Zitieren
Aiun Geschrieben 15. Januar 2008 Geschrieben 15. Januar 2008 ich würde dir vorschlagen du erstellst in deiner Anwendung Module, also z.B. Admin-Control Panel, User-Frontend bzw. detailierter (z.B. im Forum gibt es ja auch Moderatoren, die zwar das Frontend nutzen, aber mit wenigen administrativen Funktionen die dort eingebunden sind) und bestimmst dann, welche Gruppe in Welches Modul gelangen "und" welche Optionen sie in dem einen oder anderen nutzen können. Ein Administrator hat im Normalfall ja auch Zugang zum Frontend, somit muss das allgemeine Portal variablen sein und nicht "nur" am Login hängen. Zitieren
geloescht_JesterDay Geschrieben 15. Januar 2008 Geschrieben 15. Januar 2008 Wenn du verschiedene Navigationslinks hast, dann wirst du die ja schon dynamisch anzeigen und nicht fix in deine Seite einbauen. Also hast du irgendwo in der DB (vorzugsweise) deine Menüstruktur hinterlegt. Diese Menüpunkte kannst du jetzt z.b. (da sie ja mit den Modulen bzw angezeigten Inhalten usw. irgendwie verknüpft sein müssen) an deine Berechtigungstabelle hängen und beim Aufbauen des Menüs schon fragen, welcher Benutzer bzw welche Gruppe/Rolle denn angemeldet ist. Dann sieht der Benutzer schonmal nur die Punkte, die er sehen soll. Die Inhalte (Module) selber hängen am selben Konstrukt, so dass auch dur eine direkte Eingabe der URL im Zweifel nur eine Fehlermeldung angezeigt wird. Im Prinzip also so wie du es schon hast (Abhängig von der Gruppe wird etwas angezeigt). EDIT: Also nicht z.b. is $gruppe == "admin" // ganz bewußt so "einfach" geschrieben { echo "Adminmenü..."; } else { echo ""; } sondern eher z.B.: sql: SELECT linkname, linkURL from Menu where parentID = 0 and userGroup = [Gruppenkenung des Benutzers] Zitieren
sockä Geschrieben 16. Januar 2008 Autor Geschrieben 16. Januar 2008 Hallo, danke für eure bisherigen Antworten. Ich habe noch eine Frage zu JesterDay's Vorschlag: Die Inhalte (Module) selber hängen am selben Konstrukt, so dass auch dur eine direkte Eingabe der URL im Zweifel nur eine Fehlermeldung angezeigt wird. Wie meinst du das mit der angezeigten Fehlermeldung - wenn ein richtiger Link übergeben wird, wird die Seite doch immer angezeigt (oder denke ich grade nicht weit genug...?)? Grüße! Zitieren
geloescht_JesterDay Geschrieben 16. Januar 2008 Geschrieben 16. Januar 2008 Wie meinst du das mit der angezeigten Fehlermeldung - wenn ein richtiger Link übergeben wird, wird die Seite doch immer angezeigt (oder denke ich grade nicht weit genug...?)? Wenn jetz irgendjemand hergeht und die URL www.deineSeite.de/admin.php, oder so in der Art eben, eingibt, sollte der die Seite ja nicht sehen, oder? Sonst könntest du die Benutzergruppen u.ä. ja gleich weglassen Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.