2009-12-14 120 views
1

我有一個Web應用程序,我使用登錄控制和ASP.net會員登錄過程。 我的應用程序工作上週推遲到上週我上傳新版本,在這個版本中,我沒有改變登錄UC,只是主頁面(用戶登錄後的默認頁面)發生了變化。Asp.net登錄控制

但有些用戶報告我他們不能登錄並重定向到登錄頁面。 一些注意事項:1 這個問題occure只是在報告這個問題可以登錄到舊版本

我添加了一個日誌程序,看看用戶重定向監守的這段代碼

if (!this.User.Identity.IsAuthenticated) 
{ 
    Response.Redirect("~/Secure/Signin.aspx"); 
} 
IE瀏覽器 2-用戶

我檢查並看到this.User.Identity.Name爲空或爲空。

什麼設置可能改變?

感謝

+0

你在用哪種方法調用該代碼?我認爲這是他們試圖登錄後? – 2009-12-14 10:42:49

+0

是的。在用戶通過登錄頁面後的主頁面中。 – Ashian 2009-12-14 10:52:04

+0

你有基於角色的身份驗證嗎?可能會更好的檢查web.config設置。 – Saar 2009-12-14 11:02:07

回答

0

疑問,這將解決這個問題,它是一種tangental的。但是,而不是手動編碼的重定向url它是可以使用

FormsAuthentication.RedirectToLoginPage() 

它的好處是照顧returnUrl和東西。它需要在web.config中設置登錄URL。

+0

謝謝,但不要更改任何 – Ashian 2009-12-15 06:44:35

1

我見過類似的事情發生時,有一個格式不正確的FORM標記呈現在我的ASP.Net服務器FORM標記內。 '畸形'我的意思是它缺少必需的METHOD屬性。

這是我的理解,HTML規範不支持嵌套的FORM標籤,所以不同的瀏覽器處理它們的方式不同。就我而言,我看到了一個與您描述的類似的問題,在Firefox中沒有問題,並且在IE中遇到了主要問題。

檢查以確保頁面上沒有嵌套FORM標籤。同時檢查所有FORM標籤以確保它們具有所有必需的屬性。

+0

感謝您的回覆,我必須檢查,登錄頁面或目標頁面? – Ashian 2009-12-18 09:41:26

+0

我認爲登錄頁面是問題出現的地方,因爲那是表單提交的地方。 首先檢查頁面的呈現輸出。在IE中打開頁面,查看源代碼並查找FORM標籤。如果有多個FORM標籤,請確保它們是單獨的表格,並且一個FORM不在另一個FORM內。 – 2009-12-28 17:46:58