Rechtegruppen

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

  • Rechtegruppen

    Hi

    ich möchte das ich bei meinem script rechtegruppen anlegen kann und dann die user in eine dieser rechtegruppen stecken. für jede rechtegruppe gibt es ca. 200 optionen d.h. ich müsste in der mysql db 200 spalten anlegen. geht das überhaupt? oder gibts da ne elegantere lösung?

    danke

  • #2
    jupp ... es geht eleganter, mit genau drei Spalten:
    - Gruppennr
    - Optionsname
    - Rechte
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      ich soll alle 200 verschiedene rechte in eine zelle packen? wie kann ich denn danach die rechte wieder auslesen wenn die alle in einer zelle sind?

      Kommentar


      • #4
        pro recht eine zeile?
        oder du denkst dir was aus im prinzip von 000010011010001 (1 = Recht vorhanden), was aber von der wartung her aufwendiger sein dürfte

        Was für Rechte hast du denn?
        200 Recht pro Gruppe klingt... naja... sehr ambitioniert
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          das hab ich mir auch schon überlegt aber da verliert man einfach viel zu schnell die übersicht. ja es soll viele einstellungen geben, wie z.b.:

          news schreiben
          news freischalten
          eigene news editieren
          alle news editieren
          eigene news löschen
          alle news löschen
          ....... usw

          wird also ziemlich viel sein...

          Kommentar


          • #6
            Aber 200 werden's mit Sicherheit nicht, vielleicht 10 - 15, aber dann ist auch schon gut.

            Und wie "unübersichtlich" das für dich in der DB ist, kann dir ja egal sein, wichtig ist, dass die Datenbank gut damit zurecht kommt, die Abfragen einfach und schnell sind.
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Es sind aber knapp 200, glaubs mir

              wie kommt die db denn am bessten zurecht?

              Kommentar


              • #8
                mit vielen zeilen

                häng die rechte doch bitte mal an, würde mich mal interessieren, oder schick sie mir an meinbenutzername at php-resource.de
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  ich hab bei mir jedem Recht ein Kürzel gegeben z.b. "n" = News bearbeiten, "n1" News eintragen ....
                  Diese schreibe ich dann so "b n m1 s4" in die DB
                  Zum Abfragen lass ich mal schnell explode() drüberlaufen und fertig

                  "n" schließt dabei alle Rechte, die mit "n" anfangen mit ein ("n1" "n25" ...)
                  "n2" schießt dann "n25" usw mit ein.
                  [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                  [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                  [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                  (from here)

                  Kommentar


                  • #10
                    Original geschrieben von Meillo
                    ich hab bei mir jedem Recht ein Kürzel gegeben z.b. "n" = News bearbeiten, "n1" News eintragen ....
                    Diese schreibe ich dann so "b n m1 s4" in die DB
                    Zum Abfragen lass ich mal schnell explode() drüberlaufen und fertig

                    "n" schließt dabei alle Rechte, die mit "n" anfangen mit ein ("n1" "n25" ...)
                    "n2" schießt dann "n25" usw mit ein.
                    Das ist vielleicht noch akzeptabel bei 5 Rechten, aber sobald es viele werden fragst du dich später bei der Überprüfung, ob der User das Recht hat "Welches Recht muss der User denn hier überhaupt habe" Also ich finde entweder vernünftige Namen, oder eben IDs, wo ein Name hinter ist doch besser...

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      Original geschrieben von PHPbeginner
                      ich soll alle 200 verschiedene rechte in eine zelle packen?
                      AAAARGH NEIN!!!
                      Für jedes der 200 Rechte ein eigener Datensatz ... die unterscheidest Du dann mit Hilfe des Feldes "Optionsname".
                      mein Sport: mein Frühstück: meine Arbeit:

                      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                      Kommentar


                      • #12
                        Original geschrieben von ghostgambler
                        Das ist vielleicht noch akzeptabel bei 5 Rechten, aber sobald es viele werden fragst du dich später bei der Überprüfung, ob der User das Recht hat "Welches Recht muss der User denn hier überhaupt habe" Also ich finde entweder vernünftige Namen, oder eben IDs, wo ein Name hinter ist doch besser...
                        das sehe ich nicht so.
                        erstens sind die Rechte hirarchisch nach Gruppen aufgebaut (alles was mit News zu tun hat fängt mit "n" an usw.)
                        Natürlich brauche ich letztendlich eine Tabelle die sagt welches Kürzel für welches Recht steht. Das ist bei mir eine DB, die mir dann auf den Jeweiligen Seiten auch den Title und die Einträge in der Nav liefert.
                        Momentan sind es bei mir ca. 40 Rechte in 2 Ebenen, und ich kann mir das System locker mit 200 vorstellen, ohne dass es allzu unübersichtlich wird.
                        Natürlich kann man auch "News" "News_eintragen" "News_von2004_loeschen" usw nehmen, statt mit Kürzeln zu arbeiten. Was ich aber nicht empfehlen würde.
                        [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                        [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                        [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                        (from here)

                        Kommentar


                        • #13
                          Original geschrieben von Meillo
                          Natürlich kann man auch "News" "News_eintragen" "News_von2004_loeschen" usw nehmen, statt mit Kürzeln zu arbeiten. Was ich aber nicht empfehlen würde.
                          Also ich hab das so gemacht, und mein Code ist übersichtlich, nur brauche ich auch keine 40 Rechte, sondern vielleicht 20 und ich habe das auch alles in einer Tabelle stehen, wo dann die Spaltennamen die Rechte darstellen, wobei, wenn MySQL wirklich SO gut ist, dass wohl die beste Möglichkeit ist, wenn man aber etwas auf die Performance achten will, ist anderes natürlich besser.
                          btw. hattest du vorher nicht angemerkt, dass du noch eine Tabelle hast, wo die Kürzel "übersetzt" werden, und damit wäre deine Möglichkeit gleich mit der, die von, weiß nicht mehr gepostet wurde, der das mit IDs gemacht hat...denn ob jetzt IDs oder kurze Strings wird wohl noch egal sein (auch wenn ich IDs nutzen würde...)

                          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                          Wie man Fragen richtig stellt

                          Kommentar


                          • #14
                            Original geschrieben von ghostgambler
                            ...denn ob jetzt IDs oder kurze Strings wird wohl noch egal sein (auch wenn ich IDs nutzen würde...)
                            nur dass ich mir nicht merken kann was "#19" war, wohingegen mir "n" ziemlich viel sagt

                            Aber was solls - letztendlich ist doch nur wichtig, dass man sich Gedanke darüber macht und sich austauscht
                            [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                            [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                            [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                            (from here)

                            Kommentar


                            • #15
                              Wie wärs damit:

                              Code:
                              id     groupname         rights
                              --------------------------------------------
                              1      admins            ALL
                              2      user              NADD;NEDI;NDEL;DADD
                              3      moderator         NADD;BLAB;BLUB
                              Ich gebe den verschiedenen Rechten einen Kürzel und trenne sie mit einem Semikolon.

                              Kommentar

                              Lädt...
                              X