ASP.net升级后在IIS7中Form认证无法登录问题的解决

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>

再次运行程序,问题解决,程序可以正常登录。

posted @ 2009-02-27 15:47  zhiz  阅读(1833)  评论(2编辑  收藏  举报