Ankündigung

Einklappen
Keine Ankündigung bisher.

Rechte Verwaltungs Problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Rechte Verwaltungs Problem

    Huhu.

    Ich versuche im Moment bei einem Projekt von mir eine Rechteverwaltung zu bauen, komme aber einfach nicht weiter.

    Hier mal der Code:
    Code:
    			// Get permissions
    			$query = $this->db->sql_query("SELECT *
    										   FROM ".PREFIX."_user_permission
    										   WHERE user_id = ".$_SESSION['user']['id']."
    										  ");
    
    			$permission = array();
    
    
    			$permission2 = array();
    			$permission = $this->db->sql_fetchrow($query);
    
    			foreach($permission AS $key) {
    				$permission2 = 
    			}
    
    /*
    			// Get permissions
    			$_SESSION['permission'] = array();
    			$_SESSION['permission']['admin_news']					= $right['admin_news'];
    			$_SESSION['permission']['admin_user']					= $right['admin_user'];
    */
    SQL-DB:
    http://www.komandar.eu/file.sql

    Mein Problem ist es nun, dass ich irgendwie queryarm, also ohne viel ressourcen zu verschwenden folgendes machen möchte:
    -> user_permission - alle group_ids (Gruppen) mit dem navnode des Users auslesen;
    -> system_group - die permission der gruppen (groupids) worin der user ist auslesen;
    -> group_permission - die namen der permissions jeweils in ein session-array mit dem navnode speichern, damit diese später genutzt werden können um bereiche zu sichern

    Sitze an dem ganzen nun schon etwa 3 Tage und gebe nun auf.
    Habe es mit mehreren foreach's versucht, aber irgendwie wollte das ganze nicht so wie ich :\.

    Wäre klasse wenn mir jemand bei dem Problem helfen und mir einen fertigen code erstellen könnte.

  • #2
    Hallo,
    wenn du die Mächtigkeit von Datenbanken ausnutzen willst, normalisier sie komplett aus:
    http://de.wikipedia.org/wiki/Normali...28Datenbank%29
    fw_system_group.permission ist nicht ausnormalisiert. Das macht das ganze etwas schwierig.
    Lass dich vom Anfangstext im Wiki nicht abschrecken, ab NF 1 gibts Beispiele, dann wird alles verständlich.

    Übrigens würde ich auch nicht soviele Benutzer anlegen, die Admin im Namen haben. Ein Administrator ist üblicherweise uneingeschränkter Verwalter der Website. Er hat FTP-, Datenbank- und fürs Administrations-Tool sowieso alle Rechte. Es schimpft sich meistens nur der Besitzer so.
    Danach folgen in der Rangfolge meist nurnoch Moderator (dem man Moderierungsrechte - auch individuelle - einräumt, das heißt bearbeiten, löschen (nicht endgültig), verschieben bestimmter Elemente übers Administrations-Tool einräumt), Benutzer und Gast. Das wars. Mehr braucht man üblicherweise auch nicht. Admin, Master Admin, Trial Admin, .. ich würde das nicht machen. Aber das bleibt deine Entscheidung. Prinzipiell kannst du durch Kombination von Rechten ja sowieso beliebig viele Gruppen definieren.

    Wenn du das Datenbankschema ausnormalisiert hast, meld dich nochmal, dann lösen wir das Problem.

    Kannst dann auch gleich die Frage beantworten, wofür Rank steht.

    Kommentar

    Lädt...
    X