龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

解决ASP.net1.1升级后在IIS7中Form认证无法登录

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
ASP.net 1.1开发的Web应用程序,在升级到2.0或3.5以后,通过IIS7发布。 程序中认证方式采用Form认证,Web.Config文件中代码如下: authentication mode="Forms" forms loginUrl="PagesSystemPageLoginlogon.aspx" n

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>

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

精彩图集

赞助商链接