Wie kann ich die Verwendung devise „warden“ einen Rack App im selben Stapel zu authentifizieren, wie die App Schienen, die Anwendungen entwickeln?
-
10-10-2019 - |
Frage
By the way, ich bin mit Schienen 3.
Wie kann ich devise der „warden“ verwenden, um einen Rack-App in den gleichen zu authentifizieren Stapel als die Schienen app, dass Anwendungen entwickeln?
Mein Problem ist, dass, wenn ich das nennen:
request.env['warden'] # nil :(
von der anderen Anwendung auf der Rack-Stack I get Null!
I integriert dav4rack (WebDav) in meinem Rails-Anwendung über config.ru. Ich benutze devise für die Authentifizierung in meiner Rails-Anwendung.
Wenn ich versuche, die „warden“, um von meinem benutzerdefinierten dav4rack Ressource, request.env [ 'Warden'] ich null . Wie kann ich zu authentifizieren Warden in meiner dav4rack Ressource?
Beispiel für config.ru I Verwendung:
Lösung
In Ihrem config.ru, ist Ihr Stack nicht Warden verwenden.
Wenn Sie eine Anfrage an Ihren ‚/‘ Pfad überprüfen, verwenden Sie sofort Ihre Rack-Anwendung in Ihrem config.ru. Der Direktor middlkeware ist Add-on-Rails-Anwendung. So wie die Rack-Anwendung andere Rack-Middleware anrufen können Sie nicht die Wärter Informationen haben
Sie benötigen eine Rack-Anwendung nach dem Middleware warden definieren. Denn ohne Warden Middleware gibt es keine Warden Fähigkeit zur Verfügung.