Seite aufbauen abhängig vom Berechtigungsprofil auf dem SQL-Server

  • Hallo Zusammen,

    ich bin ein absoluter Neuling in html und php. Allerdings habe ich mithilfe der Beiträge aus unterschiedlichen Foren und Tutorials mehrere kleinere und einfachere Sachen erfolgreich ausprobieren können. Ich beschäftige mich damit im Rahmen eines Auftrags ein Intranet-Portal für unsere Abteilung zu basteln. Dadurch sollen unterschiedliche Informationen und zum Teil auf unterschiedliche Weisen (Seitenstruktur) an bestimmte Benutzer aus anderen Unternehmenseinheiten abhängig von ihrem Berechtigungsprofil verteilt werden.

    Die Berechtigungsprofile sind auf dem SQL-Server in einer Tabelle „User“ mit den 5 folgenden Attributen: BI_NR (Benutzer-ID), UE_NR (Nummer der Unternehmenseinheit) und PROFIL (Benutzer- bzw. Berechtigungsprofil).

    Ich habe mir das Ganze grob wie folgt vorgestellt:

    Schritt 1: Wenn ein Benutzer das Portal betritt, wird die html-Datei „Start.html“ aufgerufen bzw. geladen, in der zunächst eine Verbindung zum SQL-Server hergestellt werden soll mit anschließender Prüfung, ob seine BI_NR (ermittle ich über Javascript-Befehl: net.UserName) in der DB-Tabelle „User“ vorhanden ist. Beim Nichtvorhandensein soll auf dem blanken Bildschirm eine Meldung „Leider haben Sie keine Berechtigung fürs Portal“ erscheinen. Wenn vorhanden, dann werden zunächst alle seine Attribut-Werte über eine weitere Abfrage ausgelesen und zur weiteren Verwendung den globalen Variablen übergeben. Anschließend wird im zweiten Schritt die Seite entsprechend seinem Benutzerprofil aufgebaut.

    Schritt 2: Der Seitenaufbau (stark vereinfacht) ist der angehängten Abbildung zu entnehmen. Im Allgemeinen wird es zunächst zwei Berechtigungsprofile (pro1 und pro2) und somit auch zwei Seitenstrukturen geben. Diese sind aber fast identisch, nur dass die Seite beim Profil pro1 den „div2“ nicht enthält. An dieser Stelle habe ich mir eine Alternative überlegt: falls es möglich und/oder einfacher ist, könnte ein von zwei vorgefertigten html-Dokumenten bzw. html-Webseiten geladen werden.

    Und nun zu den (ersten) eigentlichen Fragen:

    1. Ich bin mir nicht im Klaren, wie ich das Ganze programmierungstechnisch umsetzen soll bzw. wie ist es so überhaupt umsetzbar?

    2. Ich vermute, die Verbindung zum SQL-Server und die SQL-Abfrage sollen in ein (oder zwei?) php- oder js-Dokument(e) verlagert werden.

    3. Wenn ich dann in Start.html zunächst den äußeren Container div „webseite“ erzeuge, wie kann ich darin diese Dokumente ohne einen sichtbaren und anklickbaren Link aufrufen, sodass die Funktionen quasi im Hintergrund von allein und automatisch angestoßen werden und ablaufen?

    4. Wo soll ich dann die If-Bedingung (Prüfung der Abfrageergebnisse, ob Benutzer in der DB existiert) einfügen? Und wie gebe ich die Meldung aus, wenn der Benutzer keine Berechtigung hat.

    5. Wenn der Benutzer existiert wie übergebe ich seine Parameter an die globalen Variablen? Und wie kann ich die anzuzeigende Seite bedingt aufbauen? Oder alternativ eine von den vorgefertigten Seiten laden?

    Schon im Voraus einen riesen Dank für Eure Rückmeldungen... 

    2 Mal editiert, zuletzt von bigben (17. Dezember 2015 um 17:18)

  • Hallo,

    so, dann mache ich mich mal an deine Fragen.

    Ich würde die SQL abfrage auf jeden Fall in PHP machen. Dafür benötigst du dann die mysqli -Erweiterung.

    Das Ergebnis (frag gleich alles, also ID und Berechtigung zusammen, ab, das spart Zeit und Ressourcen) speicherst du in einer Session. Diese kannst du in PHP abfragen und dann die entsprechenden Inhalte ausgeben.

    Wenn du weitere Fragen hast, melde dich einfach.

    Viele Grüße

    Sebastian

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!