2011-03-30 195 views
0

有一個使用窗體身份驗證門戶 LoginUrl =的Login.aspx DefaultUrl = Default.aspx的窗體身份驗證ASP.Net失敗

用戶憑據以dB爲單位。所以在登錄過程中,我們得到了所有的用戶憑據 - 所以我們達到數據庫,用戶身份驗證(Fidler顯示http 302爲default.aspx),重定向到deault.aspx並返回登錄頁面,因爲我們沒有通過身份驗證,但我們做到了!

有4臺機器上的項目 - 3個工程確定 - 我的 - 不!比較所有的數據 - 我也有同樣的web配置,IIS設置等

可能是什麼?

感謝

回答

0

所以,我解決了問題...的原因 - 我的注意力不集中......

所以,我用小提琴手再分析一下我的請求/響應......所以, 1)去默認 2 )重定向到登錄並輸入登錄密碼 3)數據庫中找到的用戶 - FormAuthentication票創建 4)重定向到默認 5)用戶成爲未通過認證,並搬回到登錄頁面....

所以提琴手顯示,在第3步創建cookie並調試顯示用戶認證。但沒有傳遞給Dfeault頁面的cookie。 我發現來自登錄頁面的cookies具有「安全」標記。這意味着我在webconfig requireSSL = true屬性...但requireSSL具有價值上默認爲false ......所以,東西覆蓋它...我發現多了一個配置文件與requireSSL =真正頂級的文件夾...當我刪除頂級配置文件 - 一切開始工作正常...

一定標準的情況下錯過成才......但這樣有趣的效果我看到的第一次 - 重定向期間做認證和突破爲默認頁面 - 可能是它有助於有人將他/她的時間進一步...

但無論如何 - 謝謝人們回答我的問題:)

0

如果您有需要確保在農家共享相同的machineKey所有服務器,因爲如果你已經自動生成和不同機鍵認證憑證可能無法正確解密Web場。

0

你設置在web.config文件中forms element域?如果是這樣,請求URL必須在域或表單身份驗證不會工作。本地主機也不起作用。

如果你在開發系統上測試你可能想要一個完全合格的域名添加到hosts文件([系統驅動器]:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ETC \主機)。