如何通过会话ID找到设计用户?

Geo*_*Geo 15 ruby session ruby-on-rails devise

鉴于session["session_id"]是否可以找到该User会话所属的登录?

Kev*_*ell 23

至少在我的系统上(rails 3.2,设计2.0.4),你可以这样做:

session 是:

{"session_id"=>"be02f27d504672bab3408a0ccf5c1db5", "_csrf_token"=>"DKaCNX3/DMloaCHbVSNq33NJjYIg51X0z/p2T1VRzfY=", "warden.user.user.key"=>["User", [3], "$2a$10$5HFWNuz5p6fT3Z4ZvJfQq."]}
Run Code Online (Sandbox Code Playgroud)

session["warden.user.user.key"][1][0]然后是3.

所以,我发现它是:

User.find(session["warden.user.user.key"][1][0])
Run Code Online (Sandbox Code Playgroud)

  • On Rails的4.2.1,3.4.1设计你需要使用User.find(会话[ "warden.user.user.key"] [0] [0]) (10认同)