Ich habe versucht RedBean ORM (http://redbeanphp.com) zu verwenden, um UserInterface und UserProviderInterface des Silex Security Provider Package zu implementieren.Silex/Symfony2 Remember Me Authentifizierung Benutzeroberfläche RedBean Wrapper
Aufgrund der Art, wie RedBean ORM Funktionen für seine Objekte behandelt, musste ich das Bean-Objekt in eine andere Klasse umbrechen.
Dies funktioniert hervorragend für die Authentifizierung, aber fehlschlägt Tests für Remember Me-Funktionalität.
Ich bemerkte, dass irgendwo entlang der Kette das Sicherheitspaket das Objekt serialisiert.
Ich dachte, vielleicht war dies der Grund für den Fehler, also habe ich Eigenschaften für "ID" und "Passwort" in meiner Wrapper-Klasse und verwendet __sleep und __wakeup Methoden, um die Bohne während des Schlafs zu ignorieren und neu laden beim Aufwachen. Obwohl während __wakeup alles scheinbar richtig geladen wird, ist der Test für die "Remember Me" -Funktion immer noch nicht erfolgreich.
Ich habe ein Github-Repository meines Codes erstellt. Wenn jemand irgendwelche Ideen hat, würde ich es sehr schätzen!
Aus irgendeinem Grund lassen sich RedBean, Silex und PHPUnit nicht in das Repository aufnehmen. Ein einfaches Composer-Update sollte sie für dich herunterziehen. Wenn jemand irgendwelche Ideen warum hat, würde ich auch eine Antwort darauf schätzen.
/setup.php:
https://github.com/christianmagill/silex-redbean-security
Die entsprechenden Dateien
Um den Testbenutzer in der Datenbank zu erstellen sind:
Das Github-Repository finden Sie unter
den Test auszuführen:
/index.php
Meine Implementierung von Userinterface:
/src/App/Model/UserSecurityWrapper.php
Meine Implementierung von UserProviderInterface:
/src/App/Modell/UserProvider.php
Mein modifizierter Test:
/src/App/Test/RememberMeRedBeanServiceProviderTest.php
Die Original-Test:
/Verkäufer/silex/silex/Tests/Silex/Tests/Provider/RememberMeServiceProviderTest.php