1
我想实现记住我选择基于我继承的代码登录。Rails会话管理
我有以下几点:
def login
if request.post?
if params[:remember_me]
# this is where user checked the remember me box
cookies[:login] = { :value => "XJ12", :expires => Time.now + 120}
end
session_user = User.authenticate(params[:user][:email], params[:user][:password])
if session_user
session[:user] = session_user.id
@user=User.find(session[:user])
@user.update_attributes(:last_login_time => Time.now(),:is_logged => true)
@user.save
flash[:message] = "Login successful."
redirect_to "/admin"
else
flash[:warning] = "Your email or password is incorrect. Please re-enter."
end
end
end
末
不管我做什么,cookie将被自动设定(到期日:会议)。我想如果用户没有选择记住我的选项,我将cookie设置为10分钟。如果他选择记住我,那么我会设置更长的时间。 我可以得到一些指导,做什么?
:使用active_record_store。这里的问题是我使用cookie做的任何事情,会话仍然被写为cookie。我应该使用cookie_store吗? – 2013-02-15 08:59:30
是的,会话将写入一个名为_your_app_name_session的签名cookie中,但这是完全安全的。正确使用会话[]来检索它。 – Intrepidd 2013-02-15 09:00:53
我恢复为cookie_store。现在我需要将会话过期设置为10分钟,如果记住我没有点击。怎么样? – 2013-02-15 10:27:32