ASP.net升級後在IIS7中Form認證無法登入問題的解決

zhiz發表於2013-04-22

  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>

  再次執行程式,問題解決,程式可以正常登入。

相關文章