2011-06-10 49 views
4

我需要爲用戶獲取會話ID,並最好在模型中使用它。從監獄長或設計人員處獲得會話ID

這是要點:

1)我有一個提案清單。 2)未註冊用戶可以創建提案,並將他們的會話ID保存到他們。 3)當用戶註冊或登錄他們的會話時,ID應與提案匹配。 4)然後,他們的用戶ID也應保存到提案中。

我想過重寫Devise控制器或在Rails應用程序文件中使用Warden掛鉤,但這些解決方案似乎很混亂。

+0

。只需獲取'session.id'並在記錄中使用它。當用戶登錄時,如果他們有未保存到其中的記錄,則可以顯示一條Flash消息。然後通過重新鏈接邏輯鏈接到控制器操作。 – 2011-06-10 14:58:07

+0

哪裏可用?在設置會話時應該可以使用 – atomical 2011-06-10 15:13:03

+1

。只要在視圖或其他地方調用'<%= session.id%>'即可。 – 2011-06-10 15:19:00

回答

4

您可以使用控制器或意見如下:沒有必要在這裏在此改變色器件或監獄長

session['session_id'] 
=> '69384476b67fa4c2d1e3cc340eb4e951' 
+2

在一些有限的測試中,它看起來像session ['session_id']在成功登錄後重置 - 因此ID是不同的。 – rvandervort 2011-12-07 12:37:22

+1

重置它以防止[會話修復攻擊](http://en.wikipedia.org/wiki/Session_fixation) – numbers1311407 2012-01-03 20:53:53