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>
再次运行程序,问题解决,程序可以正常登录。
- 本文固定链接: https://zxbcw.cn/post/2031/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)