Problemlösung Modularität und deren Rechteverwaltung

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

  • Problemlösung Modularität und deren Rechteverwaltung

    Okay passt auf:

    Ihr habt ein System, dort gibt es 3 Gruppen: Admin, Reseller und Kunden.

    Jeder Admin hat Reseller.
    Jeder Reseller hat Kunden.

    Admin darf alles.

    Der Admin legt fest, welche Module der Reseller benutzen darf.
    Der Reseller legt fest, welche Module sein Kunde benutzen darf, diese Module hängen von seinen Modulen ab.

    Beispiel:

    Admin hat Module A, B, C, D
    er gibt dem Reseller die Module A, B, C
    der Reseller kann seinem Kunden jetzt die Module A, B, C aber nicht D geben.

    soweit verstanden? gut!

    nun haben diese Module wiederum Links. Diese Links haben auch zugriffsrechte.

    Z.B. sagt der Reseller, das der Kunde XY aus dem Modul B nur die Links 1, 2, 3 aber nicht 4 öffnen bzw. sehen darf.

    Mein Problem ist jetzt:

    Wie speichert und verwaltet man am besten alle Zugriffsrechte.

    Hinweis: es steht eine DB zur Verfügung, bis zu 10.000 Kunden kann es insgesamt geben.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

  • #2
    tabelle mit modulen (module_id)

    tabelle mit kundenstammdaten (kunde_stamm_id)
    tabelle kunde_typ (reseller oder kunde)
    verknüpfungstabelle (kunde_id als primärschlüssel, kundetyp_id, kunde_stamm_id)

    tabelle module_kunde (modul_id, kunde_id)

    tabelle link(link_id als primärschlüssel, modul_id)

    tabelle sichtbar(kunde_id, link_id)

    so?
    als schuß ins blaue
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      argh, joa, geht sogar noch leichter.

      user_table (user_id)

      module_table (user_id, modulname)

      module_link_table (user_id, modulname, link_id)

      damit ist auch alles gereglt.
      Sunshine CMS
      BannerAdManagement
      Borlabs - because we make IT easier
      Formulargenerator [color=red]Neu![/color]
      Herkunftsstatistik [color=red]Neu![/color]

      Kommentar


      • #4
        Benny, schon mal von Normalisierung gehört?

        Kommentar


        • #5
          Original geschrieben von asp2php
          Benny, schon mal von Normalisierung gehört?
          nein
          Sunshine CMS
          BannerAdManagement
          Borlabs - because we make IT easier
          Formulargenerator [color=red]Neu![/color]
          Herkunftsstatistik [color=red]Neu![/color]

          Kommentar


          • #6
            na dann mal

            Kommentar


            • #7
              kleiner tipp:

              wenn du bei deiner "struktur" in der tabelle module_table ein modul umbenennst, steht in module_link_table trotzdem noch der alte name

              schlimmer: wenn du einen aus aus module_table rausschmeisst, steht er trotzdem noch in module_link_table drin und je nachdem welche tabelle du wie abfragst oder auch nicht, macht der benutzer sachen, die er nicht machen darf oder kann andersrum sachen nicht machen, weil du vergessen hast, ihn in eine der vielen tabelle einzutragen
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                ein Modulname wird NIEMALS geändert.
                Und falls es in 10 jahren mal geändert werden soll -> UPDATE table_module_link SET modulname='".$new_modulname."' WHERE modulname='".$old_modulname."

                @happy: nein das kann nicht passieren. Das System prüft alles und beachtet alles und wenn ein Modul deinstalliert wird, dann werden auch die entsprechenden Links rausgenommen.

                Beispiel so neben bei:

                Das Modul Spam kann nur installiert werden wenn das Modul E-Mail bereits installiert wurde.

                Das Modul E-Mail kann nicht deinstalliert werden, wenn das Modul Spam installiert ist.

                So, also, alles sicher/fein/toll gemacht
                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar


                • #9
                  Original geschrieben von Benny-one
                  UPDATE table_module_link SET modulname='".$new_modulname."' WHERE modulname='".$old_modulname."
                  und die tabelle module_link_table musst du nicht auch anpassen?

                  So, also, alles sicher/fein/toll gemacht
                  wollen wir streiten?
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Original geschrieben von mrhappiness
                    und die tabelle module_link_table musst du nicht auch anpassen?

                    wollen wir streiten?
                    es gibt keine tabelle modul_link_table

                    es gibt

                    table_module
                    und table_module_links

                    @streiten: per telefon gerne - wirst nur verlieren
                    Sunshine CMS
                    BannerAdManagement
                    Borlabs - because we make IT easier
                    Formulargenerator [color=red]Neu![/color]
                    Herkunftsstatistik [color=red]Neu![/color]

                    Kommentar


                    • #11
                      http://dev.mysql.com/doc/mysql/en/InnoDB_overview.html
                      Dieses Schreiben wurde automatisch erstellt und ist ohne Unterschrift gültig.

                      Kommentar


                      • #12
                        Original geschrieben von Benny-one
                        es gibt keine tabelle modul_link_table
                        Original geschrieben von Benny-one
                        module_link_table (user_id, modulname, link_id)
                        na dann..., abgesehen von dem e, dass du weggelassen hast, hätte ich schwören können, aber naja...

                        @streiten: per telefon gerne - wirst nur verlieren
                        ich zittere vor angst
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Original geschrieben von mrhappiness
                          na dann..., abgesehen von dem e, dass du weggelassen hast, hätte ich schwören können, aber naja...

                          ich zittere vor angst
                          OffTopic:

                          Er hat ja keine Ahnung wie manche Leute am Telefon abgehen können.
                          Ich rede meistens bei meinen Sachen mit irgendwelchen Chefs

                          [color=blue]MfG Payne_of_Death[/color]

                          [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                          [color=red]Merke:[/color]
                          [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                          Murphy`s Importanst LAWS
                          Jede Lösung bringt nur neue Probleme
                          Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                          In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                          Kommentar


                          • #14
                            OffTopic:
                            angeber, du bist nicht der einzige, der mit wichtigen leuten telefoniert

                            viel schlimmer sind aber die leute, die sich für wichtig halten, es aber nicht sind
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              @happy: gib nummer ich ruf dich dann mal an ;-)
                              Sunshine CMS
                              BannerAdManagement
                              Borlabs - because we make IT easier
                              Formulargenerator [color=red]Neu![/color]
                              Herkunftsstatistik [color=red]Neu![/color]

                              Kommentar

                              Lädt...
                              X