Ankündigung

Einklappen
Keine Ankündigung bisher.

MVC - Login und Rollen

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

  • MVC - Login und Rollen

    Hallo zusammen,

    ich versuche mich gerade an einem MVC für eine kleine Anwendung. Ja, ich versuche eine Stück weit das Rad neu zu erfinden. Habe aber mit allen bestehenden Frameworks die Schwierigkeit, dass ich mich ohnehin einarbeiten muss und die meisten Frameworks überladen sind. Deswegen schreibe ich mir mein eigenes kleines MVC-Framework. So viel zur Vorgeschichte.

    Nun soll es in dieser Anwendung verschiedene Rollen geben, beispielsweise darf einer lesen, aber nicht löchen, einer löschen, aber nichts hinzufügen usw. Grundvoraussetzung für alle: sie müssen eingeloggt sein.

    Wie würdet ihr das umsetzen? In der jeweiligen Controller-Klasse und hier in der entsprechenden Methode. Ich dachte mir, etwa ich dieser Art:

    Code:
    class xyController {
    
        public function add {
    
            prüfe, ob user eingeloggt
            prüfe, ob user das Recht besitzt
            mache etwas
        }
    
        public function delete {
    
            prüfe, ob user eingeloggt
            prüfe, ob user das Recht besitzt
            mache etwas
        }
    }
    Ich habe bei diesem Ansatz ein wenig die Sorge der Performance, wüßte aber aktuell keine andere Rangehensweise.

    Wie würdet ihr dieser Aufgabenstellung begegnen?

    Danke schon mal!


  • #2
    Ich würde slim nutzen.
    ob es sinn macht eingelogt und rechte so zu prüfen wage ich zu bezweifeln.
    mal als beispiel ....
    https://symfony.com/doc/current/security.html

    Kommentar


    • #3
      Mit den jeweiligen Routen angeben, welche Rechte/Rollen benötigt werden und diese dann in einer Middleware überprüfen.
      Ansonsten habe ich sowas auch schon mit Go! AOP und Annotations gelöst.
      "Software is like Sex, it's best if it's free." - Linus Torvalds

      Kommentar


      • #4
        Zitat von tomBuilder Beitrag anzeigen
        ob es sinn macht eingelogt und rechte so zu prüfen wage ich zu bezweifeln.
        kannst du deine bedenken konkretisieren?

        Kommentar


        • #5
          wie in #3 beschrieben gibt man das in der route an.
          rollen testet man, bevor man den controller zum laufen bringt.

          Kommentar


          • #6
            Zitat von tomBuilder Beitrag anzeigen
            ob es sinn macht eingelogt und rechte so zu prüfen wage ich zu bezweifeln.



            kannst du deine bedenken konkretisieren?
            Ob man eingelogt ist, ist überflüssig. Bei einem Login gibt man dem Benutzer nur die richtige Rolle, welche mit verschiedenen Rechten versehen ist.


            Dannach je nach Design, kann man nur, wenn man es braucht oder wie auch schon beschrieben in einer Middleware.
            PHP-Code:
            $user->can('update.post'

            Kommentar

            Lädt...
            X