當用戶登錄時(通過開放標識),我們正在創建一個名爲「UID」的會話變量並在其中存儲唯一的用戶標識。稍後我們正在檢查會話以查看用戶是否已登錄。我認爲這不是正確的方式,但我不能強制團隊改變這一點,因爲我無法展示如何破解此實現。任何人都可以告訴我爲什麼(如果是的話)這個實現是不好的?在會話變量中存儲用戶標識
3
A
回答
3
我看不到任何情況,您應該擔心通過客戶端漏洞獲取服務器端會話值。由於缺乏OpenID的身份,一些人擔心虛假OpenID提供商欺騙用戶進入傳遞憑證,但通常沒有保證。
的實施似乎是可以接受的,但考慮到你正在使用ASP.NET,你應該考慮使用的IIdentity這ASP.NET OpenID提供商:
http://code.google.com/p/dotnetopenid/
它是行之有效的,具有相當多的安全代碼和API支持內置到它。
0
正如Nissan Fan所言,我可以看到沒有理由擔心服務器端會話值被利用。
只是出於好奇,你認爲這不是正確的路要走的一些理由是什麼?
1
我的第一個問題是,是什麼讓你覺得這不是正確的方法?
以這種方式存儲數據是非常普遍的,安全的,它專門針對用戶本地化。如果您不喜歡使用會話出於其他原因,例如處理多個服務器上的會話,或者需要將會話序列化/反序列化到數據存儲區(假設非內存會話),那麼這是一個不同的爭論,但安全部分不應該「這是問題。
還要記住使用會話的簡單性。它使數據訪問您需要不斷訪問的,用戶特定的數據,在整個應用程序中保持標準和一致。
編輯基於評論:
我想知道同樣的事情,當我開始使用MVC以及和它似乎是完全罰款。我無法找到任何反對這個想法的東西。我甚至問this question,因爲我的自定義授權屬性必須訪問會話,並且我在其中存儲了特殊的角色類型,現有的授權不太適合。
相關問題
- 1. 如何使用vb.net在會話中存儲用戶標識
- 2. 如何在會話mvc c#中存儲用戶標識?
- 3. 如何在註冊後爲新創建的用戶在會話變量中存儲用戶標識
- 4. 將用戶標識存儲到會話中
- 5. 在節點全局變量中存儲用戶標識
- 6. 會話不在PHP中存儲變量?
- 7. 在新變量中存儲會話
- 8. 在會話變量中存儲函數
- 9. 在html/javascript中存儲會話變量
- 10. 在會話變量中存儲文件?
- 11. 存儲會話變量
- 12. 如何在MEAN.JS中爲每個用戶會話存儲變量?
- 13. 在asp.net中存儲數據庫與會話的用戶變量
- 14. 在會話中存儲對象時會話變量問題
- 15. 如何存儲find_by_sql_results在會話變量
- 16. 存儲在會話變量空值
- 17. 如何使用存儲在會話中的用戶標識與ajax
- 18. 如何在會話中使用ember-simple-auth存儲用戶標識?
- 19. 在會話中存儲用戶信息?
- 20. php在會話中存儲用戶ID?
- 21. 在會話PHP中存儲用戶名?
- 22. 在會話中存儲用戶ID?
- 23. 在會話中存儲用戶ID
- 24. 存儲在瀏覽器會話存儲器VS內存變量
- 25. 將用戶ID存儲或獲取爲PHP會話變量
- 26. 會話作用域bean未存儲在用戶會話中
- 27. 會話變量沒有被存儲
- 28. 存儲會話變量不工作
- 29. 存儲會話變量的問題
- 30. 存儲XML到PHP會話變量
謝謝。另外我正在使用MVC – Tanmoy 2010-08-31 04:16:17