Navigation abhängig von Benutzer-Recht

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

  • Navigation abhängig von Benutzer-Recht

    Hallo.

    Ich habe mir ein kleines Programm für DVD-, Musik,- und Datenliste für mehrere Benutzer geschrieben.
    Diese können sich mit der Angabe, welche Sparte sie eintragen möchten, registrieren.
    Das klappt schon wunderbar.

    Nun möchte ich die Site entsprechend anpassen, das die Benutzer nach der Anmeldung nur die Menüpunkte entsprechend der eingetragenen Rechte angezeigt bekommen (zb, nur DVDs, nur Musik, oder beides). Vorher, wenn nicht angemeldet, soll nur der frei zugängliche Teil und die Anmeldung/Registrierung zu sehen sein (ähnlich wie bei einem CMS).

    Wie kann ich das am besten realisieren. Gibt es dafür Tuts/Anleitungen bzw. fertige Scripts? Für gute Tips wäre ich dankbar.

  • #2
    Na wie hast du denn dein bisheriges System relaisiert? Deine Informationen sind recht sperlich um hier einen Tipp zu geben. Gibts ne Datenbank, wenn ja welche? Oder speicherst du das in einer txt Datei oder wie?

    Bitte ein paar mehr Infos und man kann sicher mehr sagen dazu.

    So richtig verstehe ich dich auch nicht, eine benutzer soll registrieren und dabei einen Bereich wählen wo er was Uploaden darf oder downloaden?

    Gruß litter
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    http://www.lit-web.de

    Kommentar


    • #3
      In der Navigation erfolgt die selbe Prüfung wie auf der Hauptseite.

      if(user hat recht den bereich zu betreten)
      echo navigation;

      Wie stellst du denn sicher, dass der User die DVD-Seite (nicht) sehen darf? Genauso machst du es in der Navigation, nur kleiner.

      Ggf. kann man dann hinterher noch ein paar Abfragen optimieren, falls z.B. ohnehin alles aus der DB kommt.

      Kommentar


      • #4
        Die Userdaten sind in einer Datenbank abgespeichert (Uid, Vor- und Nachname, Password, Email, Userlevel).
        Beim Rechtesystem habe ich mir ein binäres Rechtesystem ausgesucht, wobei 128 der Admin ist (ist aber auch problematisch).

        Menu ist momentan noch statisch Html (leider), wobei die Benutzer es auf die Finger bekommen, wenn sie nicht die entsprechenden Rechte haben.

        Das Prinzip hinter meinem Programmchen ist, wenn sich ein User registriert, soll er angeben, was er benutzen will (DVD-DB, Musik-DB, DivX-DB, sonstige DBs und die Kombination aus mehreren DBs).


        Gruß
        LordSinclair

        Kommentar


        • #5
          schau mal ... so schwer ist es wirklich nicht...

          in meinem Projekt läuft das so (grob)

          PHP-Code:
             echo '<div class="mainnavi">'
             echo 
          '<ul>'// Navigationsleiste unterhalb d Logos ...
             
          echo '<li><a href="'.$PHP_SELF.'?frm=1"';    // Zusammenbauen 
             
          if ($anzeige==1)   // $anzeige = aktiver Nav-Punkt  
                
          echo ' class="aktiv"';                    
             echo 
          '>Kunde suchen</a></li>';
             if (
          $darstell>0) {  // nur wenn vorher ein Kunde gesucht wurde
                
          echo '<li><a href="'.$PHP_SELF.'?frm=10"';
                if (
          $anzeige==10)
                   echo 
          ' class="aktiv"';
                echo 
          '>Kunden-Daten</a></li>';
             }
             if (
          $ret[2]<256) { // Rechtestufe - auch Binär
                
          echo '<li><a href="'.$PHP_SELF.'?frm=9"';
                if (
          $anzeige==9)
                    echo 
          ' class="aktiv"';
                echo 
          '>Neuer Kunde</a></li>';
             }
          .....
             if (
          $ret[2]>=2048) {  // Adminstufe
                 
          echo '<li><a href="'.$PHP_SELF.'?frm=7"';
                 if (
          $anzeige==7)
                      echo 
          ' class="aktiv"';
                 echo 
          '>Administration</a></li>';
             }
             echo 
          '</ul>'
             echo 
          '</div>';  // Ende Mainnavi 
          das ist ein Ausschnitt aus meinem Menü .. geht sicher noch eleganter - aber es tut, was es soll

          du musst im Prinzip nur auf die Rechtestufe prüfen, ob ein Menüpunkt ausgegeben wird - oder nicht

          Und natürlich in dem Bereich der dann entsprechend in Funktionen verzweigt, solltest du nochmal testen, damit kein User deine Rechte-stufen unterwandern kann (indem er einfach Post oder Get-Daten manipuliert)
          Zuletzt geändert von eagle275; 19.07.2010, 11:14.
          [font=Verdana]
          Wer LESEN kann, ist klar im Vorteil!
          [/font]

          Kommentar


          • #6
            Wie gesagt ich kenne dein System nicht wirklich, aber ich würde das dann so machen. Deine Kategorien haben ja ne ID, so dann könntest du eine extra Tabelle anlegen in der du die ID der jeweiligen Kategorie rein schreibst und das Recht mit welchen man in dieser Kategorie down oder uploaden darf. So das gleiche mache du für einen User der sich registriert, auch eine extra Tabelle anlegen da die User_ID rein und das Recht was er hat wenn er sich für eine gewisse Sparte ode rKategorie (das Prinzip ist das selbe) einträgt. Beim Menü auslesen dann einfach die Kontrollstruktur entsprechend aufbauen und deine Bedingungen bilden.

            Mache dir vieleicht mal eine PAP oder ein Struktogramm, dass heist denke richtig darüber nach und bringe es logisch zu Papier und dann kannst du das eben in Programmcode tippen.

            Mfg litter
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            http://www.lit-web.de

            Kommentar


            • #7
              Der Code sieht prima aus, werde es mir zu Gemüte führen und es dann in meinem Programm einbauen, wenn ich es kapiert habe.
              Vielen Dank für eure Hilfe!

              Kommentar


              • #8
                uh .. als Tipp^^

                PHP-Code:
                if ($GET['frm'])
                   
                $anzeige=$GET['frm']; // Muss vor der Ausgabe des NaviMenüs im PHP-Code stehen
                else
                   
                $anzeige=1
                den Konstrukt mit $darstell könntest du ja auch anwenden, nachdem einer deiner User eine CD / DVD / irgendwas aus der Datenbank gesucht und gefunden hat

                Alles was dir nun noch fehlt sind ein paar CSS-Styles, um die Menüpunkte zu gestalten - ich darf dich da mal auf entsprechende Tutorials hinweisen .. fündig wirst du bestimmt im Bereich CSS / HTML / Javascript hier im Forum ...

                zum Bleistift der hier Peter Kropff - Tutorials - HTML/CSS hat mir sehr geholfen
                Zuletzt geändert von eagle275; 20.07.2010, 06:55.
                [font=Verdana]
                Wer LESEN kann, ist klar im Vorteil!
                [/font]

                Kommentar


                • #9
                  Die Kropff-Tuts scheinen nach recht interessant und gut aufgebaut zu sein, nach einem kurzen Blick. Danke für den Tip!
                  Da werde ich mich mal ransetzen und mein Wissen erweitern

                  Kommentar


                  • #10
                    Zitat von LordSinclair Beitrag anzeigen
                    Die Kropff-Tuts scheinen nach recht interessant und gut aufgebaut zu sein, nach einem kurzen Blick. Danke für den Tip!
                    Da werde ich mich mal ransetzen und mein Wissen erweitern
                    Kann ich dir auch nur empfehlen, ich selber habe viel auf seiner Seite nachgelsen und auch gelernt, nur beim OOP Kapitel da musste ich teilweise resignieren, die Beispiele dafür waren mir irgendwie für mich nicht geeignet das zu verstehen was er da will (aber das ist nur meine Meinung).

                    Gruß litter
                    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                    http://www.lit-web.de

                    Kommentar


                    • #11
                      OffTopic:
                      Zitat von litterauspirna Beitrag anzeigen
                      nur beim OOP Kapitel da musste ich teilweise resignieren, die Beispiele dafür waren mir irgendwie für mich nicht geeignet
                      Das merk ich mir mal für November vor. Denkst du dran, dass du mir noch was schicken wolltest?
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        Zitat von litterauspirna Beitrag anzeigen
                        Kann ich dir auch nur empfehlen, ich selber habe viel auf seiner Seite nachgelsen und auch gelernt, nur beim OOP Kapitel da musste ich teilweise resignieren, die Beispiele dafür waren mir irgendwie für mich nicht geeignet das zu verstehen was er da will (aber das ist nur meine Meinung).

                        Gruß litter
                        Oops, hab ich was vergessen?

                        Kommentar

                        Lädt...
                        X