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