首页 > 服务器 > ASP.net升级后在IIS7中Form认证无法登录问题的解决
2014
12-03

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>

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

编程技巧