Berechtigungen

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

  • Berechtigungen

    Tabelle permission_group
    group_id
    group_name
    group_desc
    group_active

    Tabelle permission_right
    right_id
    group_id
    right_name
    right_active
    right_desc

    Tabelle permission_user_group
    user_id
    group_id

    Tabelle permission_user_right
    user_id
    right_id
    subtract_right

    Die oberen beiden Tabellen sollten selbsterklärend sein, die active-Felder gibt's, um komfortabel eine Berechtigung(sgruppe) allen Usern temporär wegnehmen zu können (Recht oder Gruppe nicht aktiv => Entsprechende Aktionen nicht möglich)

    Die beiden unteren Tabellen legen dann die Berechtigungen der einzelnen User fest.
    Ein EIntrag der Form 2 | 3 in Tabelle permission_user_group würde dem Benutzer mit der ID 2 alle in der Gruppe 3 definierten Berechtigungen bescheren. Alternativ können Berechtigungen auch über explizit über die Tabelle permission_user_right verteilt geben, nur eben dann auch rechte- und nicht auf Rechtegruppenebene.
    Das Feld subtract_right gibt mir die Möglichkeit, einem Benutzer zwar alle Berechtigungen einer Gruppe zuzuweisen, aber bestimmte Rechte wieder auszuschließen.
    Im Gegensatz zu einer Zuweisung auf Rechteebene hätten diese User dann auch nachträglich der Gruppe hinzugefügte Rechte.

    Kann man damit was anfangen oder habe ich was übersehen?
    Was kann man besser abbilden?
    Zuletzt geändert von mrhappiness; 04.04.2005, 11:05.
    Ich denke, also bin ich. - Einige sind trotzdem...

  • #2
    naja. ich habs ja so ähnlich gemacht ....

    allerdings habe ich auch nicht die möglichkeit automatisch neu hinzugefügte gruppenrechte auf die user zu übertragen.

    bei mir ist dies auch nicht notwendig, denn wenn ich ein neues recht einer gruppe zuordne, sollte auch nur der user der die gruppe komplett hat, das recht bekommen.

    da ich immer nur die einzelnen rechte zu einem user speichere dienen bei mir die group_right und group_user tabellen nur der vereinfachung in der verwaltung.

    wenn du bei deinem system bleiben willst, solltest du die subtraktion der rechte in einer weiteren tabelle ablegen. oder willst du , wie so viele andere hier , die rechte durch kommata trennen?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Original geschrieben von Abraxax
      wenn du bei deinem system bleiben willst, solltest du die subtraktion der rechte in einer weiteren tabelle ablegen. oder willst du , wie so viele andere hier , die rechte durch kommata trennen?
      Weder noch

      1 | 2 | 0 (0 ist Standard) beschwert User 1 das Recht 2

      Angenommen die Rechte 3 - 7 sind in Gruppe 2:
      2 | 2 in permission_user_group => User 2 hat alle Rechte der Gruppe 2 (3, 4, 5, 6, 7)

      2 | 5 | 1 in permission_user_right entzieht ihm dann das Recht 5 wieder.
      Ich muss da nichts durch Komma trennen
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        ja. logo. habs verstanden. ist ja user|right einzeln. ;-)
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Original geschrieben von Abraxax
          ja. logo. habs verstanden. ist ja user|right einzeln. ;-)
          Ebend

          Und mit einer weiteren Tabelle wäre die Abfragerei im Adminbereich nicht unbedingt einfacher...
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            nene. schon ok. hatte nur einen denkfehler gehabt .....
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar

            Lädt...
            X