会话处理和登录/退出

时间:2011-06-06 21:45:53

标签: ruby-on-rails ruby-on-rails-3 session authentication

我正在开发Rails应用程序,我必须使用身份验证。我安装了设计宝石,并试图习惯它。无论如何 - 我有两个问题,可能是连接的(不知道)

  1. 登录时,如何注销已经以同一用户身份登录的用户?我的意思是 - 从机器M1登录,接下来是机器M2,另一个用户正在登录。我想从M1注销用户

  2. 如何在会话中存储数据信息?我将有3个表单,一些依赖于其他表单,并且只有在最后一个之后我需要在数据库中创建条目。我想在会话中存储其他信息。该怎么做,还是不好主意?

1 个答案:

答案 0 :(得分:1)

1)此路线以设计

结束会话
destroy_user_session GET    /users/sign_out(.:format)                  {:action=>"destroy", :controller=>"devise/sessions"}

只需添加指向“/ users / sign_out”的链接即可退出用户。我不遵循M1和M2中有关用户的部分,但您可以使用sign_out_all_scopes一次性注销所有用户

2)session [:anything] ='value_you_want'会在会话中存储信息,请记住默认情况下会话存储设置在一个coockie中,所以你只有40k来存储数据。

如果您想制作一个类似于表格的向导,我建议您访问www.railscasts.com并搜索“向导”,那里有一个如何实现您想要的截屏视频。