session["session_id"]
が与えられていると、そのセッションが属しているUser
にログインできますか?どのようにすれば、そのセッションIDでdeviseユーザーを見つけることができますか?
答えて
は、少なくとも私のシステム上で(レール3.2、2.0.4を工夫)、あなたはこのようにそれを行うことができます。
session
次のとおりです。
{"session_id"=>"be02f27d504672bab3408a0ccf5c1db5", "_csrf_token"=>"DKaCNX3/DMloaCHbVSNq33NJjYIg51X0z/p2T1VRzfY=", "warden.user.user.key"=>["User", [3], "$2a$10$5HFWNuz5p6fT3Z4ZvJfQq."]}
session["warden.user.user.key"][1][0]
、その後、3
があります。私はあなたが達成しようとしているが、現在のセッションからのみのユーザーをしたい場合は
にお答えしようとするかわからないんだけど
User.find(session["warden.user.user.key"][1][0])
Rails 4.2.1でDevise 3.4.1をUser.find(セッション["warden.user.user.key"] [0] [0])にしたいと思っています –
ありがとう。この例は醜いですが、うまくいきます。再度、感謝します。このクッキーの例:http://stackoverflow.com/a/43549108/5754223 – artamonovdev
:として
だから、私はそれを見つけるだろう、簡単な方法は、例えば、セッションで彼のIDを保存するために、次のようになります。
def login(username, pass)
# do the usual authentication stuff and get user
if logedin
session[:user_id] = user.id
end
end
次に、現在のユーザが
ようなものになるだろうを取得しますcurrent_user =User.find(session[:user_id])
、現在ログインしているすべてのユーザーを見つけることです何をしたい、私はあなたが事前に定義されているため、DBでセッションを保存するためにアプリを設定への必要があると考えられる場合は、そのセッションデータは、ブラウザでCookieに格納されています。これに関する詳細については、この答えをチェックし How to track online users in Rails?
EDIT:はちょうどあなたが最初の方法はあなたのためにそこに実際にあるように工夫されている使用して気づきました。任意のコントローラーでcurrent_user
メソッドに呼び出すだけで済みます。 2番目の方法ではこの回答を確認してください"Who's Online" using Devise in Rails
- 1. にはどうすれば見つけることができますか?
- 2. どのようにmongoosejsで見つけることができますか?
- 3. TeamCityでどのようにユーザーのリストを見つけることができますか?
- 4. どのようにC#からActive Directoryのユーザーを見つけることができますか?
- 5. AX2009の最後のラベルIDはどのようにして見つけることができますか?
- 6. どのように 'オブジェクト'と 'メソッド'のそれぞれの値を見つけることができますか、それらはコンストラクタSystem.MulticastDelegateの引数ですか?
- 7. ActiveRecord :: RecordNotFound - IDなしでユーザーを見つけることができません
- 8. .ipa、ここで私はそれを見つけることができます
- 9. カーソルがあることをWordでどのように見つけることができますか
- 10. すべてのソースでdevise-3.5.0を見つけることができませんでした。レール4、devise gem
- 11. どこでMicrosoft.Build.Utilities.v3.5を見つけることができます
- 12. Acrobat「checkedOut」フラグ。それは何ですか、どこで見つけることができますか
- 13. レールでセッションIDを見つける3
- 14. 私は入力パネルを見つけることができますが、私はツールボックスでそれを見つけることができませんか?
- 15. Clang APIで識別子を見つけることができませんが、Clangは使用時にそれを見つけることができます
- 16. 、セッションが存在することをIDで確認するにはどうすればよいですか?
- 17. どのようにsyscall(いくつかの番号)ルーチンを見つけることができますか?
- 18. ウェブサービスをどのように整理すれば、開発者は簡単にそれらを見つけることができますか?
- 19. visibleRectメソッドはiPhoneでも利用できますか?どうすればそれを見つけることができますか?
- 20. 私はrobots.txtのことで、ウェブサイトのユーザー名とパスワードを見つけることができますどのようにユーザー名とパスワード
- 21. タイムゾーンの紹介をどこで見つけることができますか
- 22. どこでPythonのvtkドキュメントを見つけることができますか?
- 23. どこでneo4jのクイックチュートリアルを見つけることができますか?
- 24. どうすればgitでHEADを見つけることができますか?
- 25. どのようにしてagにnode_modulesでの一致を見つけることができますか?
- 26. リンクテキストをリンクテキストでXPathとどのようにして見つけることができますか?
- 27. LinuxのCentOS/Ubuntuのデフォルトアプリケーションをコマンドラインでどのように見つけることができますか?
- 28. WP7のSilverlightでコントロールのスクリーン位置をどのように見つけることができますか?
- 29. Rails:特定のフィールドで一意のレコードをどのように見つけることができますか?
- 30. .NET:フォルダリダイレクトがオンのときにデスクトップパスを見つけるにはどうすればよいですか?
代わりにUser.current_userを使用できます。試しましたか? –