Deviseの「Warden」を使用して、Deviseを使用するRailsアプリと同じスタックでラックアプリを認証するにはどうすればよいですか?
-
10-10-2019 - |
質問
ちなみに、私はRails 3を使用しています。
Deviseの「Warden」を使用して、Deviseを使用するRailsアプリと同じスタックでラックアプリを認証するにはどうすればよいですか?
私の問題は、私がこれを呼ぶとき:
request.env['warden'] # nil :(
ラックスタックの他のアプリケーションから、私はnilを取得します!
config.ruを介してRailsアプリにdav4rack(webdav)を統合しました。 Railsアプリでdeviseに認証に使用しています。
カスタムdav4rackリソースから「ワーデン」にアクセスしようとすると、request.env ['warden'] nilを取得します。 Wardenを使用してDAV4Rackリソースで認証するにはどうすればよいですか?
config.ruの例:私は使用しています:
解決
config.ruでは、スタックはワーデンを使用しません。
「/」パスへのリクエストを確認すると、config.ruでラックアプリケーションを即座に使用します。ワーデンMiddlkewareはRailsアプリケーションに追加されています。ラックアプリケーションのように、他のラックミドルウェアに電話してください。
ミドルウェアワーデンの後にラックアプリケーションを定義する必要があります。ワーデンミドルウェアがなければ、利用可能な監視員の能力はないからです。
所属していません StackOverflow