2016-05-01 6 views
0

Zuerst werde ich Ihnen sagen, was ich tun möchte.MYSQL PDO: Multiples Benutzer mit dem gleichen Rang. Wie man die Datenbankstruktur bildet?

Zuerst machen Sie eine Systemrolle. Das ist (Benutzer, Mod, Admin, usw.).

Und fügen Sie eine Option hinzu, um Rollen hinzuzufügen, und diese werden in einer anderen Benutzertabelle gespeichert.

In besseren Worten. Ich muss wissen, wie man die Datenbank (Tabellen) so strukturiert, dass sie einer Rolle entspricht.

Das heißt:

  • Alle neuen die Benutzerrolle haben muss.
  • Wenn ich ein Administrator bin, kann ich neue Rollen hinzufügen und den Benutzer bearbeiten.

  • Ein Mitglied kann eine Rolle haben.

  • Rollen können viele Benutzer haben.

    in zwei Tabellen unterteilt:

    Site_table = speichert Bereiche und Website-Konfigurationen.

    User_table = Speichern Sie Registrierungsinformationen und Benutzereingaben.

Antwort

1

I mit 4 Tischen gehen würde (nur wichtige Informationen für diesen Zweck zu Tabellen hinzugefügt):

users 
    -- id 
    -- role_id 


roles 
    -- id 
    -- name 


privileges 
    -- id 
    -- name 
    -- value 


privileges_to_roles 
    -- privilege_id 
    -- role_id 
  • Beziehung Benutzer < -> Rolle 1: n als einen Benutzer sollte bezogen auf eine Rolle.
  • Beziehungsrollen < -> Privilegien ist n: m als eine Rolle sollte aus vielen verschiedenen Privilegien bestehen (z. B. Artikel schreiben, neue Kommentare moderieren usw.).
+0

Vielen Dank, es ist was ich brauche. Wie kann ich eine Beziehung zwischen Tabellen herstellen? – AlexMp

+0

Ich bin mir nicht sicher, ob ich Ihre Frage richtig verstanden habe, aber die Beziehung zwischen der 'user'- und der' roles'-Tabelle erfolgt über die Spalte 'role_id' in der 'users'-Tabelle. Die Beziehung zwischen der Tabelle "roles" und der Tabelle "priviles" erfolgt über die Tabelle "priviles_to_roles". Für jede Beziehung zwischen 'roles' und' privilegs' fügen Sie der Tabelle 'priviles_to_roles' einen neuen Eintrag hinzu. – Andreas

Verwandte Themen