Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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... :-)

Geschrieben

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.

Geschrieben

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]

Geschrieben

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!

Geschrieben

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 ;)

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...