我正在寫一個asp.net mvc c#網站,它不會使用會話...我有什麼選擇用於在沒有會話的情況下登錄登錄功能?asp.net mvc登錄體系結構選項
回答
常用的方法是使用cookie。請參閱Securing and ASP.NET MVC Application。
謝謝你,會看看...有沒有任何其他選項,但? – Gary 2010-07-19 14:01:04
System.Web.Security.FormsAuthentication使用cookies:
FormsAuthentication.SetAuthCookie(userName, rememberMe);
沒有會話用於在那裏。當然,如果你想要的不僅僅是一個用戶名並且是認證的,你還需要其他方式來存儲這個狀態。您唯一真正的選擇是Cookie或網址,由於其他原因,其中任何一個都不可接受。
會話不是邪惡的,尤其是考慮到您在共享服務器或SQL Server實例上承載會話數據的選項。
會話肯定會被濫用,您的可擴展性會受到影響,但除非出現其他重要問題,否則我不會完全避開會話。
如果您必須完全拋棄會話,則必須在每次調用時重新創建狀態,這通常是一個昂貴的提議,否則您將不得不創建自己的狀態存儲機制,這會使我們回到標準的ASP.NET會話存儲備擇方案。
基本上我有3個選項可以認爲是對HTTP請求進行身份驗證。
1)只有餅乾,你設置你需要確定他們在他們的下一個請求
2)會議提供必要的信息,用戶的計算機上的cookie。會話將通常也使用cookie(存儲會話信息),但不必(見http://msdn.microsoft.com/en-us/library/aa479314.aspx)
3)無狀態身份驗證。這實際上只用於調用webservices的非瀏覽器HTTP客戶端。這包括客戶端使用公鑰/私鑰組合對服務器進行身份驗證的http請求進行簽名。無狀態HTTP身份驗證協議的一個示例是OAuth(儘管OAuth作爲規範實際上是面向授權的,但其本質上的授權需要身份驗證)。
請參閱Web authentication state - Session vs Cookie vs?瞭解關於Cookie和會話的其他討論。
- 1. ASP.NET MVC RESTFul體系結構
- 2. ASP.NET MVC體系結構
- 3. ASP.NET MVC體系結構
- 4. MVC體系結構
- 5. 模塊化體系結構 - ASP.NET MVC
- 6. ASP.NET MVC - PartialView體系結構問題
- 7. ASP.Net MVC視圖體系結構
- 8. asp.net中的三層體系結構mvc
- 9. ASP.Net MVC體系結構 - ViewModels的位置
- 10. 在多層體系結構中登錄ASP.NET
- 11. 將ASP.NET體系結構與Sencha Ext JS MVC體系結構混合
- 12. ASP.NET MVC項目體系結構問題 - 授權和會話
- 13. ASP.NET Web窗體和ASP.NET MVC中的MultiTenant體系結構
- 14. MVC體系結構問題
- 15. MVC體系結構開發
- 16. OpenAM無代理體系結構選項
- 17. ASP.NET沙箱體系結構?
- 18. ASP.NET WebForms PageMethods體系結構
- 19. ASP.net MVC項目結構
- 20. 登錄asp.net mvc
- 21. 如何構建ASP.NET MVC網站的CAPTCHA驗證體系結構?
- 22. Python項目體系結構
- 23. Db4o Mvc應用程序體系結構
- 24. 新的ASP.net MVC項目 - 登錄失效
- 25. 沮喪與ASP.NET MVC應用程序的正確體系結構
- 26. 存儲庫中的體系結構抽象問題ASP.NET MVC
- 27. 具有Web API業務層的ASP.Net MVC 3體系結構
- 28. 是否可以在ASP.NET MVC中使用n層體系結構?
- 29. ASP.Net MVC體系結構 - 旁路控制器層?
- 30. ASP.NET MVC應用程序體系結構「準則」
你爲什麼不使用會話?有幾個我能想到的,每個人都會稍微改變我將如何回答這個問題。 – Matt 2010-07-19 13:59:25
你也可能會發現這個問題有幫助:http://stackoverflow.com/questions/356562/web-authentication-state-session-vs-cookie-vs – Matt 2010-07-19 14:36:40