我已经设置了一个简单的示例应用程序,该应用程序使用设计进行用户身份验证。
当我在登录时选择rember me复选框时,我在控制台中获得以下内容:
由Devise处理:: SessionsController #create as HTML 参数:{“commit”=>“登录”,“authenticity_token”=>“Vm + 2aWEmCRnnjdXAOpXdI5dGChUKlEcmfGNXNoGUkwc =”,“utf8”=>“Γ£ô”,“user”=> {“remember_me”= >“1”,“密码” =>“[过滤]”,“电子邮件”=>“test@example.com”}} ←[1m←[35mUser Load(1.0ms)←[0m SELECT“users”。* FROM“users”WHERE“users”。“email”=“test@example.com”LIMIT 1 ←[1m←[36mAREL(1.0ms)←[0m←[1mUPDATE“users”SET“last_sign_in_at”='2011-10-06 21:36:46.439511',“updated_at”='2011-10-06 21:43 :59.298269',“sign_in_coun t“= 15,”current_sign_in_at“='2011-10-06 21:43:59.297269'WHERE”users“。”id“= 1←[0m
我的帖子控制器中有以下内容:
before_filter :authenticate_user!
然而,当我关闭浏览器并再次打开它时,我被迫再次登录,然后才能查看帖子。似乎没有存储cookie。我在firefox中为我的页面找到了以下cookie:
Cookie名称:remember_user_token 过期时间:会话结束时
这是应该存储的cookie,并在将来的某个日期到期,而是在会话结束时到期吗?有人可以验证这个吗?
我已经尝试将devise.rb中的config.remember_for = 2.weeks
注释和取消注释到不同的设置,似乎没有什么可以解决问题。
我的User.rb文件如下所示:
class User<的ActiveRecord ::基
设计:database_authenticatable,:registerable, :可恢复的,:可记住的,:可跟踪的,:有效的
#为您的模型设置可访问(或受保护)属性
attr_accessible:email,:password,:password_confirmation,:remember_me
端