0

我已經實現了登錄按鈕,如下後1-2分鐘:用戶被自動註銷,被記錄在ASP.NET

   FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(u.UserID.ToString(), true, 2880); 
       string encTicket = FormsAuthentication.Encrypt(ticket); 

       HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); 
       cookie.Expires = DateTime.Now.AddMinutes(2880); 
       Response.Cookies.Add(cookie); 
Response.Redirect("/index.aspx"); 

,這是我的web配置:

<authentication mode="Forms"> 
     <forms loginUrl="Login.aspx" defaultUrl="Index.aspx" slidingExpiration="true" timeout="2880" /> 
    </authentication> 

我的問題是:當我將我的Web應用程序部署到託管服務器上時,一旦我登錄,我就會在用戶目錄中幾頁左右,幾乎在30秒 - 1分鐘後立即註銷並重定向到登錄頁面我可以重新登錄。這是爲什麼發生?我在我的本地機器上測試過它,它工作得很好?!?!

有人可以幫我解決這個問題嗎?

回答

0

您是否在網絡農場上託管?

如果是這樣,您將登錄到一臺服務器,並且當您重定向到其他服務器時,它無法解密您的身份驗證票證。所有機器密鑰必須在每臺Web服務器上保持一致。見How To: Configure MachineKey in ASP.NET 2.0