我使用Asp.Net成員和在用戶進入正確的用戶名和密碼,我簽下他使用:面對會話問題
FormsAuthentication.SetAuthCookie(String, Boolean)
如果我創建一個永久性的Cookie,然後我覺得我的會員資格仍然會能夠工作,但我的會話數據將爲空。
這真是annonying和我的應用程序中引入了大量的錯誤。我該如何處理?
我應該處理global.asax的Application_AuthenticateRequest並檢查我存儲在session中的userId是否爲空,並且Membership.GetUser()
不爲空,那麼我應該在Session中再次存儲ProviderUserKey(Guid)。
這是一個合理的方法,或者有沒有更好的方法來處理?
我不想將窗體和sessionState超時設置爲相同。如果它們不同,會怎麼樣?我怎樣才能再次在會話中設置數據?什麼是最好的方式來做到這一點? – TCM
如果會話超時,則必須再次填充它的數據。或者您可以將光數據放入Cookie中而不是會話中。例如,我通常會將名字,姓氏,電子郵件等存儲在cookies中。您也可以將大量數據放入Cookie中,但不推薦,也不建議在會話中放置重物。所以1-如果你有光照數據,把它們放在cookie中(而不是會話)2-如果你有大的和重的物體,最好從數據庫中選擇它們,當你需要它們時。 –