2010-06-29 58 views
5

強調,當在我的asp.net web表單的應用程序,我使用掛接到我的數據庫(與標準成員資格提供)簡單明瞭的形式驗證識別IE下的登錄。一切正常,我可以登錄,註銷,獲得角色,等等窗體身份驗證失敗的主機名

然而,部署我的網站到Intranet IIS服務器後,我注意到,IE無法進行身份驗證。登錄的實際身份驗證過程正常工作(因爲它會告訴您何時您的密碼/用戶名是錯誤的),但身份驗證完成後聲明您未登錄。

這只是在本地部署的IIS環境中在我的VS環境中,在IE中一切正常。雖然在部署IIS鉻和火狐工作得很好。

我可以告訴大家的唯一事情是它看起來像IE沒有得到或保存身份驗證cookie。這不是IE設置相關的,因爲我的IE8設置爲接受所有cookie,並且我在同事的IE8機器和另一個IE7上測試了相同的結果。

我的web.config使用以下設置:

<authentication mode="Forms" > 
    <forms cookieless="UseCookies" /> 
</authentication> 

有誰至少有在哪裏我想看看開始調試這個問題的線索?

感謝,


編輯:我不得不現在就解決這個問題,因爲我的Web服務器沒有與URL驗證工作良好。

我已經使用小提琴手和想通了,IIS7不發送任何cookie,我當我在IE瀏覽器。標題中沒有Cookie。雖然向Mozilla和Chrome瀏覽器提供網站時,Cookie正確顯示在標題中。我很茫然,爲什麼.....


EDIT2:作爲一個方面說明,當我直接登錄到Web服務器,如果我去Http://localhost/ IIS將IE餅乾精細,但如果我去http://qa_build/(這是服務器的計算機名稱)IIS不會將cookie發送到IE。

+0

你試過了不同的瀏覽器嗎?結果是什麼?該域名正在設置哪些Cookie? – 2010-07-16 18:40:08

回答

12

終於想出了答案。事實證明,如果域中有下劃線,Internet Explorer將不會存儲Cookie。改變計算機的名稱爲qabuild修復它。

http://support.microsoft.com/kb/316112

+1

這是一個非常奇怪的選擇,任何人都知道Microsoft Side的解釋。 – 2010-07-16 19:07:22

+0

讓我想起Audacity通過標籤名稱導出到文件時遇到的問題。其中一個標籤被命名爲「con」,這是一個非法的文件名。 – dgw 2010-07-19 11:35:28

+0

我剛剛花了6個小時把我的頭髮拉出這個問題!謝謝你,謝謝你,謝謝你發佈這個。 – DanB 2010-10-29 16:40:04

0

是否有另提交頁面的地方,是不相關的登錄按鈕?

我試圖登錄一次,當有類似的問題,並發現當我按下回車鍵,而不是點擊登錄按鈕,只發生了,它正被另一個按鈕取默認按鈕點擊引起的。它會進行身份驗證,但它不會給我任何用戶角色。

+0

不,那不是。我的login.aspx頁面只有一個按鈕,並且只有一個登錄控件(對登錄控制模板或代碼進行了零修改) – KallDrexx 2010-06-30 12:05:30