Ich möchte ein benutzerdefiniertes Benutzer-Checker erstellen, um die Login-Aktion gegen die zuletzt akzeptierte eula zu validieren. " Idee ist ziemlich einfach, es wird viele Versionen von eula geben und Benutzer kann nicht anmelden, bis er die neueste eula akzeptiert.
Szenario ist:
Ich habe folgendes gefunden: Ссылка
Aber leider gibt es keine Vollversion des benutzerdefinierten Benutzer-Checkers. Wie implementiere ich den Rest?
Sie können Symfony's Benutzerprüfdienst ( security.user_checker
) in Ihrem Bundle neu definieren:
Erweitern Sie dann Symfony's UserChecker:
%Vor% Der Dienst security.user_checker
wird während des Authentifizierungsprozesses in \Symfony\Component\Security\Core\Authentication\Provider\UserAuthenticationProvider::authenticate()
aufgerufen
Warum verbinden Sie den Ereignis-Listener nicht mit dem kernel.request
-Ereignis und sehen Sie, ob der aktuell angemeldete Benutzer die neueste EULA akzeptiert hat?
Um den aktuellen Benutzer zu erhalten, können Sie etwas wie folgt verwenden:
%Vor%Tags und Links authentication symfony doctrine2 eula