Ergebnis 1 bis 8 von 8

Thema: Kontrolle von weiterem DB-Feld bei Login

  1. #1
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    144

    Standard Kontrolle von weiterem DB-Feld bei Login

    Hallo zusammen,

    ich würde gern beim normalen Login-Formular ein weiteres Anmeldekriterium neben dem Nutzernamen und Passwort einrichten, welches beim Klick auf den Login-Button kontrolliert werden soll:

    Und zwar sollen die User nach dem Ablauf einer gewissen Zeit ihre E-Mail-Adresse bestätigen. Dazu habe ich einen kleinen Bool Wert "expired" beim User hinterlegt, der nach einem Monat auf true gesetzt wird.
    Ist "expired" jetzt true und der User meldet sich an, soll der Login fehlschlagen und er soll zu einer Seite kommen, auf der dann die weiteren Schritte zur Bestätigung ablaufen.

    Ich hatte nach einem Hook gesucht, mit dem ich das anstellen kann, aber der ValidateFormField und der prepareFormData Hook sind beide nicht für das Login-Formular, wie es scheint.

    Hat vielleicht jemand eine Idee, wie ich das am Besten anstellen kann?

    Ganz großes Danke schonmal

  2. #2
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.479
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich würde nen Hook nehmen, der am Login ansetzt: https://docs.contao.org/dev/referenc...ckCredentials/

  3. #3
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    144

    Standard

    Der checkCredentials funktioniert aus meiner Sicht wegen zwei Dingen nicht unbedingt: 1. er ist deprecated, 2. Er feuert bei einem failed attempt zum Einloggen. Beim normalen Login werden die User allerdings kein falsches Passwort eingeben, sondern schon ihre richtigen Daten, das sollen sie auch, es soll ja nur der zusätzliche Schritt dazukommen, dass noch nach diesem expired geschaut wird.

    Das Problem, die meisten Hooks, die etwas mit Login zutun haben sind deprecated, deswegen scheint das auf Dauer nicht die Lösung zu sein und es gibt auch keinen Hook, der ähnlich wie validateFormField ausgelöst wird, zwischen dem drücken auf Login und dem tatsächlichen Login. Zumindest habe ich keinen gefunden...

  4. #4
    Contao-Fan Avatar von lbableck
    Registriert seit
    10.06.2021.
    Beiträge
    337
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Als "Nachfolger" für die Hooks kannst du die Events von Symfony nutzen: https://symfony.com/doc/7.1/security...ication-events

  5. #5
    Wandelndes Contao-Lexikon Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    10.185
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von FlorinvV Beitrag anzeigen
    Ich hatte nach einem Hook gesucht, mit dem ich das anstellen kann, aber der ValidateFormField und der prepareFormData Hook sind beide nicht für das Login-Formular, wie es scheint.
    korrekt - auch wenn der Login technisch gesehen auch ein Formular ist, ist es im Contao-Kontext kein Formular, was mit dem Formulargenerator erstellt ist - nur bei deren Verarbeitung zünden die beiden Hooks

  6. #6
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    144

    Standard

    Die "neuen" Symfony habe ich gesehen, wie werden die dann bei Contao eingebunden? Gibt es dazu in der Doku ein Eintrag zu?

  7. #7
    Contao-Fan Avatar von lbableck
    Registriert seit
    10.06.2021.
    Beiträge
    337
    Contao-Projekt unterstützen

    Support Contao

  8. #8
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    144

    Standard

    Ah, cool, danke

    Dann schaue ich mir das Zeugs mal an und schau das zu lösen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •