Jump to content

Empfohlene Beiträge

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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!

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Nimm an der Diskussion teil

Du kannst jetzt hier posten und Dich später registrieren. Wenn Du bereits über eine Konto verfügst, melde Dich jetzt an, um mit Deinem Konto zu posten.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

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


Fachinformatiker.de, 2020 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

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

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung