我目前正在開發Symfony2應用程序,該應用程序不僅會接受 用戶註冊,而且會允許訪問者在不創建帳戶的情況下通過幾乎整個流程的網站 或。在登錄的設計思路看起來像這樣(建議/改進歡迎):將數據存儲在「匿名」用戶上
- 當用戶登錄到他們的賬戶,數據將被保存到用戶/相關實體爲正常
- 當匿名用戶首次點擊該網站,爲他們創建一個「匿名用戶實體」,就好像他們已經註冊一樣,但是有一些像
USER_<session_id>
作爲標識符而不是個性化用戶名。他們在網站上進行任何活動持續至匿名用戶實體 - 當匿名用戶選擇登記,他們的匿名用戶實體升級爲註冊用戶實體,保留他們的數據以備將來使用
- 如果一個匿名用戶在沒有註冊的情況下離開網站,應該在一段時間後清除匿名用戶實體以防止死亡數據的積累
什麼是最好的方式去做到這一點?具體來說,爲匿名用戶創建/操作用戶實體,而不必將代碼放置到每個控制器中被認爲是「最佳實踐」?
好主意,謝謝! – Problematic 2011-08-03 14:41:29
想到這裏,也有一些漏洞:NAT問題,如@emilecantin指出,而且問題移動用戶,誰就能在很短的時間(通過WiFi熱點移動,例如)迅速改變IP地址。 – Problematic 2011-08-03 17:52:40
我絕對不會使用這種方法。在一個IP地址(例如,從工作計算機訪問您的網站的人員比在數百臺計算機中共享或幾個IP地址的人們)有很多不同用戶會話的實例。您需要在Cookie中使用唯一的ID。 – 2012-02-15 05:54:23