我關於用戶登錄的處理,同時將應用程序移植到MVC一個問題:在「老」的WebForm天ASP MVC與Web窗體:使用SessionState的用戶登錄
,開發人員只需使用SessionState對象設置用戶登錄,例如,簡單地將userobject放入SessionState(並且此用戶對象擁有簡單的屬性,如名稱/ lastlogon等)。
這個東西對我們很好用,我已經看到很多應用程序這樣做
是的,我知道有這個MembershipProvide-啄,但我從來沒有使用過它現在
,在MVC中,每個人都告訴我,「使用SessionStat這是壞」和「應用程序建立了方式在設計上存在缺陷「,並且」存在大量的安全風險「等等。
我已經使用這種方法,因爲它爲應用程序工作非常可靠,它很容易實現,它涵蓋了我們需要的所有東西。
(當然,也有與回收利用網絡工作者過程中的事情並清空會話 - 但那不是我們的情況下一個問題,因爲該應用程序爲每個國家運行在專用機器上)
我讀過教程,告訴我把這些東西放在數據庫中 - 注意 - 向數據庫發出請求以檢查用戶是否已登錄,每EACH請求?但是:在任何情況下,這都是一種可行的方法,因爲我想將DB請求保持在最低限度。
所以我的問題是:
A),使用這種方式也是在新的MVC應用程序什麼錯?
B)最新的MVC應用程序處理這種情況最好的方法是什麼?
關於session-in-DB-idea:而不是這樣做,我會建議一個額外的服務,比如通過網絡獲取查詢的「會話管理器」,但是這樣的簡單請求不應該去數據庫 - 這不是一個好主意嗎?
任何想法,提示/等。非常感謝,因爲這個場景實在是困惑我:-X
使用[籍](http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx)和表單/ Windows身份驗證的任何Web窗體或MVC應用程序。這是MS推薦的處理用戶和認證的官方方式。 – jrummell 2013-03-20 14:51:05
用戶會得到一個額外的cookie,對吧?第二:它在哪裏以及如何存儲這些東西,以及如果我需要userobject在將來攜帶更多對象時它會做什麼? – johngrinder 2013-03-20 15:11:14
關於會員制提供「有用」:在這個SO穿線MS-開發者自己的http://stackoverflow.com/questions/440568/why-should-i-use-asp-net-membership-security-model/一個說「包含的控件幾乎沒有好處」? – johngrinder 2013-03-20 15:34:49