2011-04-21 73 views
0

我有一個叫做編輯的用例,因爲註冊並且不需要保留OpenID/OAuth帳戶,所以似乎需要會話。所以我推出了我自己的身份驗證系統med SHA1,它可以檢查密碼,現在我想知道是否可以實現編輯文章的功能,而無需引入自己的會話對象。它可以通過某種方式過期的令牌來完成嗎?用戶需要「登錄」,但我必須實現的是啓用編輯對象,因爲用戶可以通過發送電子郵件來登錄,我認爲登錄可以通過會話令牌來完成。謝謝我可以使用會話令牌代替會話嗎?

回答

1

你想要什麼被庫稱爲「基於cookie的會話」,如Beaker。理想情況下,您應該簡單地使用Beaker或另一個提供此類功能的庫,但無論如何,這裏都是關於它們如何工作的低谷:

會話數據(可能只是一個用戶標識符或表示他們有權限的標誌)存儲在一個常規的客戶端cookie中。它可以選擇使用密鑰加密,並且它與HMAC一起存儲,使用不同密鑰生成。可選的加密功能可防止用戶讀取數據,而HMAC可確保他們無法修改數據。

作爲旁註,你說「註冊並保留一個OpenID帳戶不是必需的」,但是隨後談談你自己使用SHA1和密碼進行身份驗證。請注意:正確地進行身份驗證可能會非常棘手,而且很少有用戶希望在使用現有帳戶登錄時使用自己的密碼註冊另一個帳戶。

+0

非常有趣。我聽說過另一個我不能相信的故事,那就是當我認爲許多開發人員和用戶同意OpenID非常方便時,自己的身份驗證更可取。 – 2011-04-23 21:25:52

相關問題