我的網站不斷強迫我回到請求之間的登錄頁面(身份驗證問題)。身份驗證不會持續用戶會話
我的本地網站工作得很好,是相同的確切代碼。沒有身份驗證問題......
我已經沖刷過的網頁和撕裂我的頭髮,整天在這個問題上嘗試不同的事物的建議等
可有人請給我解釋一下什麼是繼續和我如何糾正它?
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
Session["Email"] = model.Email;
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", YeagerTechResources.Resources.AcctUserNamePswdInCorrect);
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
下面是我登錄到生產站點後立即可用的cookie的下圖。請注意,沒有列出cookie。
的Cookie信息 - http://yeagertech.com/
現在,如果你看同樣的方式執行相同的代碼爲我開發網站,您將看到以下。這讓我瘋狂,並浪費了一整天的時間。我會用任何幫助apprecaite任何人!
的Cookie信息 - http://localhost:4514/
NAME
代理
VALUE
http://localhost:62613/proxy/0/
DOMAIN
本地主機
PATH
/
EXPIRES
2012/2/12下午8點21分16秒
注意,幾經多個請求,它可以追溯到到登錄頁---只在生產現場而不在本地現場。
似乎生產網站上的cookie在需要返回登錄頁面之前沒有足夠長的保質期。
我基本上希望cookie至少持續用戶會話。
我能做些什麼來解決這個問題?
再次感謝....
我需要配置在這個網站,我做到了,並得到了下面的錯誤有關IIS設置:
「無法使用SQL Server,因爲ASP.NET版本2.0會話狀態未安裝在SQL服務器上,請安裝ASP.NET會話狀態SQL Server版本2。0或更高版本「
收到此錯誤後,我發現需要在SQL Server上啓用會話狀態,因此我嘗試運行InstallSqlState.SQL文件(位於本地PC上的Microsoft.Net版本文件夾中) 。
試圖運行該腳本後,它失敗(與下面的錯誤),因爲沒有「MSDB」數據庫SystemDatabases文件夾中的我的託管數據庫服務器上。
「在數據庫中創建否認DATABASE權限'主'。如果作業不存在,從msdb.dbo.sp_delete_job錯誤的預期。消息229,級別14,狀態5,過程sp_delete_job,1號線執行權限被拒絕的對象sp_delete_job'數據庫「MSDB」,架構「DBO」。消息911,級別16,狀態1,行10數據庫 'ASPState的' 不存在。請確保名稱輸入正確。「
因此,除非我的託管數據庫(我擁有的是master和tempdb)上有一個msdb數據庫,否則我無法在我的sql服務器上設置會話狀態。
我想知道如何從這裏着手。
順便說一句,我覺得不太可能,即使它被啓用,這將解決這個問題。我的情況不適合任何的3個要點您最初概述。
這是一個小數據庫,在它幾乎沒有任何記錄。我只是用我的網測試它在我開始向它添加記錄之前,確保它工作正常。也沒有時間間隔。
我去了幾個精美的網頁,然後突然間,回到登錄頁面...
如果我的本地機器工作正常,它defintley有我需要的東西做因爲我正在使用您的服務器。
我希望得到任何幫助....
將會話從InProc更改爲SQLServer服務器爲我工作。 – sagesky36 2012-03-07 22:28:02