1

我已将Web站点转换为Web应用程序,并且现在遇到了与该应用程序有关的奇怪行为。基本上,有2个网站。一个网站是用ASP.NET 1.1编写的主要的面向前台的站点,但是从2.0增加了Membership部分。另一个是以前的网站,现在已经发展到一个Web应用程序。身份验证令牌在ASP.NET Web应用程序中无法正常工作

似乎当我登录到网站(项目1)时,我正确地重定向到Web应用程序(项目2)。不过,我点击的任何链接都会让我回到登录网站(项目1)。机器密钥是相同的,并且所有表单身份验证属性都是相同的。

我已经停止了IIS几次,并删除临时文件夹中的文件,仍然没有去。非常令人沮丧。

这里是我的形式元素的例子为我的web应用程序:

<forms domain="beta.domain.com" name=".ASPXAUTH" loginUrl="http://beta.domain.com/" protection="All" timeout="600" path="/" requireSSL="true" slidingExpiration="true" defaultUrl="https://beta.domain.com/app/" enableCrossAppRedirects="true"/> 

这里是我的形式为网站元素的例子:

<forms name=".ASPXAUTH" enableCrossAppRedirects="true" timeout="600" defaultUrl="/QueryStringAuthenticate.aspx" loginUrl="/" protection="All" slidingExpiration="true" cookieless="UseDeviceProfile" domain="beta.domain.com" /> 

然后在这两个我有指定了相同的机器密钥值。网站中的QueryStringAuthenticate.aspx页面没有改变。它仍然会做同样的事情(获取cookie名称[.ASPXAUTH]和cookie值[认证令牌])。

+0

您确定在登录页面中正确设置了认证凭单吗? – 2009-11-03 20:14:56

+0

您是否在web.config中设置了表单元素的“name”属性? – Greg 2009-11-03 20:28:00

+0

是的,是的。往上看。 – 2009-11-03 20:37:45

回答

1

我终于明白了。它实际上与认证本身无关,而是浏览器设置。显然,有人已经修改了我们的开发机器映像文件,将该站点添加到HTTPS的受信任站点中,但没有在没有HTTPS的情况下添加该站点。所以,IE在某个地方放弃了连接。添加或不添加HTTPS或删除这些条目均可解决问题。