【发布时间】:2012-02-15 15:06:38
【问题描述】:
我有几个 Web 应用程序在带有 IIS 6.0 的 Windows Server 2003 上运行。
应用程序在 Asp.net 2.0 下运行。
最近我安装了一个 MVC 3 Web 应用程序,它本质上是基于 asp.net 4 的。在此新应用程序中无法识别表单票证。
我在使用此链接创建的不同 asp.net 版本的 machine.config 文件中具有相同的 machineKey 设置:http://aspnetresources.com/tools/machineKey
登录Web应用程序中的配置是这样的:
<authentication mode="Forms">
<forms name=".WEBAUTH"
loginUrl="login.aspx"
protection="None"
slidingExpiration="true"
enableCrossAppRedirects="false"
timeout="43200"
path="/" />
</authentication>
相应地,mvc 应用程序的配置是:
<authentication mode="Forms">
<forms name=".WEBAUTH"
loginUrl="http://path2theloginapp/login.aspx"
protection="None"
slidingExpiration="true"
enableCrossAppRedirects="false"
timeout="43200"
path="/" />
</authentication>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
登录有效,但 mvc 应用程序总是重定向回登录页面。
现在,如果我将 IIS 配置中登录 Web 应用程序的 asp.net 版本更改为 asp.net 4.0,它可以工作。但是在 asp.net 2 上运行的所有其他应用程序都不再工作了。
有没有人在类似情况下解决过基于表单的身份验证?
【问题讨论】:
标签: asp.net iis authentication