ASP.net 1.1開發的Web應用程序,在升級到2.0或3.5以後,通過IIS7發布。
程序中認證方式采用Form認證,Web.Config文件中代碼如下:
<authentication mode="Forms"> <forms loginUrl="Pages\SystemPage\Login\logon.aspx" name=".ADUAUTH" protection="All"> </forms> </authentication>
【遇到問題現象】
認證登錄後,程序始終顯示登錄頁 logon.aspx
通過程序跟蹤,發現 logon.aspx.cs中
SetAuthCookie() 和 RedirectFromLoginPage()
執行後均無效,無法改變Request.IsAuthenticated值,始終為false;
【解決方案】
運行IIS7 -> 該Web程序 -> 身份驗證 -> Form身份驗證 -> 編輯 -> Cookie設置 - > 使用Cookie -> 應用。
做出如上修改後,Web.Config文件自動修改為:
<authentication mode="Forms"> <forms cookieless="UseCookies" loginUrl="Pages\SystemPage\Login\logon.aspx" name=".ADUAUTH" protection="All"> </forms> </authentication>
再次運行程序,問題解決,程序可以正常登錄。