Konzept Usermanagment und Modularität

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

  • Konzept Usermanagment und Modularität

    Wie würdet ihr am ehesten ein Usermanagment gestalten bei dem der User für jegliche Aktion Rechte bekommen soll ? Vorallem wie löse ich das am besten, wenn ich Modularität haben möchte ? Sprich das jemand weitere Funktionalität in mein Script adden kann, in dem er sein Script in z.b. /module/dasplugin/ einfügt ? Ich hab mir mal angeschaut wie Postnuke das macht aber Postnuke ist irgendwie...Schrott Ich hab auch diverse eigene Ideen, wäre aber dankbar für weitere Anregungen und Tips da ich es gleich "richtig" machen möchte. Danke !

  • #2
    1) benutze eine rechteverwaltung, wo du jeden user mit einträgen in einer 2. Tabelle verknüpfst, wo du einträgst, was er darf, und was er nicht...
    Beispiel:
    UserTabelle:
    userid: md5(username)
    ...

    RechteTabelle:
    rightsid
    userid
    key
    value

    jetzt trägst du folgendes ein
    rightsid, 'userid (=>md5!)', 'wasweißich', 1

    jetzt kannst du abfragen, welches recht der user x auf die aktion "wasweißich" hat (1=> er darf/ 0=> er darf nicht)

    du kannst deine tabelle aber auch jedesmal erweitern, wenn neue möglichkeiten hinzukommen, wobei ich das nicth so pralle finde..

    gruss

    Kommentar


    • #3
      ... jetzt kriege ich wieder haue ...

      als anreiz: die phpshop - entwickler haben mit einem (noch unvollendeten) usermanagement angefangen - kernidee war die erweiterbarkeit ...
      auf phpshop.org findest du links zum sourceforge-projekt - einfach mal als gedankenstütze
      (-:
      Bookmarks:·Bilder·Jobs·Recht·
      kostenloser Webkataloge-Assistent

      Kommentar


      • #4
        erwähnt sei, dass sich dieses usermanagement "phpshop core" nennt und nix mit dem phpshop 06 oder mit einem Shop-System zu tun hat - es soll später einfach ein "commerce"-Modul als Shop aufgesetzt werden - brauchst de ja nicht machen
        (-:
        Bookmarks:·Bilder·Jobs·Recht·
        kostenloser Webkataloge-Assistent

        Kommentar


        • #5
          Also, mit den Rechten hat MoRtAlAn ja schon erklärt, allerdings erweiter ich seine Idee mal:


          Die User in Gruppen einteilen, und in der Rechte Tabelle die Rechte für die einzelne Gruppe festlegen.

          Tabelle Rechte:

          recht_id
          recht_groupid
          recht_titel
          recht_value


          Wie du das einliest ist deine Sache, ich hoffe die Spaltennamen sagen alles...


          Jetzt zu den Modulen:

          Wie du das machst ist eigentlich deine Sache, du könntest die Module in einem Ordner namens "module" (mit viel fantasie ausgedacht ) stecken.

          Dort sind dann die Module in Kathegorien eingeteilt (news, forum usw.) und du kannst per require() die ganzen Module aufrufen....


          Ich persöhnlich arbeite (wahrscheinlich ist die Methode vollkommener Schwachsinn) auch mit einem Ordner "module", wo die Module nach Kathegorie geordnet sind.

          Jedes Modul hat dann verschiedene Dateien (news_zeigen, news_allezeigen, usw.), und diese Dateien liefern dann mit "return" das zurück was man in seiner Datei benutzen will.

          Die anderen Variablen kann man ja alle mit unset() neu initialisieren (oder war das was anderes?)

          Das ganze rufst du dann mit $str = require("module/news/showall.php"); aufgerufen, wie gesagt kann das aber auch eine totale Schrott lösung sein (wenn man z.B. fertig Software in sein Projekt einbinden will)...



          MfG Floriam
          PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

          Kommentar


          • #6
            so ähnlich ist das bei mir auch geregelt, allerdings nervt mich, dass ich jedes recht auch explizit prüfen muss.

            ich muss also jedem recht einen bezeichner geben, möglichst offensichtlich: beispiele: news_post, news_edit.
            dann muss ich an der stelle wo ich das recht prüfen will mit:
            accesscheckfuntion('news_post', $userid) prüfen ob er das recht hat.

            kommen die fragen auf:
            -kann man das ganze nicht mittels ohnehin übergebener variablen ($_GET vars welche seite/modul/funktion aufgerufen wird) prüfen, so dass man nicht jedesmal alle rechte explizit bennenen muss?

            -wie gibt man globale rechte, sprich für etwas das alle dürfen bekommen alle das recht, ohne bei jedem user einen eintrag erstellen zu müssen? (eine usergruppe: "registrierte user" wo alle drinstehen?)
            am besten ohne datenmüll ..

            Kommentar


            • #7
              tabelle user
              tabelle recht
              tabelle gruppe
              tabelle gruppe_recht
              tabelle user_recht
              tabelle user_gruppe

              wenn du das so zuordnest sollte das hinhauen
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                wie gibt man globale rechte, sprich für etwas das alle dürfen bekommen alle das recht, ohne bei jedem user einen eintrag erstellen zu müssen? (eine usergruppe: "registrierte user" wo alle drinstehen?)
                am besten ohne datenmüll ..

                Ich hab ja schon geschrieben, das man ne Tabelle macht, wo die Einstellungen der Usergruppe sind.
                PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                Kommentar


                • #9
                  Sorry, war wohl ein bisschen zu schnell beim klicken, bitte löschen
                  PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                  Kommentar


                  • #10
                    Original geschrieben von Floriam
                    Sorry, war wohl ein bisschen zu schnell beim klicken, bitte löschen
                    nö ...
                    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


                    • #11
                      Original geschrieben von Abraxax
                      nö ...
                      Und sowas nennt man Moderator...
                      PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                      Kommentar


                      • #12
                        OffTopic:
                        Original geschrieben von Floriam
                        Und sowas nennt man Moderator...
                        gut erkannt ...
                        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


                        • #13
                          spamt doch mal nicht rum.

                          Floriam: ich will ja verhindern, dass ich alle user dieser "registered" gruppe zuordnen muss.
                          das wäre datenmüll

                          Kommentar


                          • #14
                            Original geschrieben von rythms
                            das wäre datenmüll
                            nein. das wäre sogar sehr sinnvoll...
                            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


                            • #15
                              Original geschrieben von Abraxax
                              nein. das wäre sogar sehr sinnvoll...
                              OffTopic:
                              Da muss ich ihm ausnamsweise recht geben!
                              PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                              Kommentar

                              Lädt...
                              X