身份验证令牌在ASP.NET Web应用程序中无法正常工作

时间:2009-11-03 20:11:57

标签: asp.net asp.net-membership forms-authentication membership

我已将网站转换为网络应用程序,现在我遇到了应用程序的奇怪行为。基本上,有2个网。一个Web站点是用ASP.NET 1.1编写的主要的前端站点,但是从2.0添加了Membership组件。另一个是以前的网站,现在已经发展成为一个Web应用程序。

好像当我登录网站(项目1)时,我被正确地重定向到了网络应用程序(项目2)。但是,我点击的任何链接都会将我发回网站登录(项目1)。机器密钥相同,并且所有表单身份验证属性都相同。

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

以下是我的网络应用的表单元素示例:

<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值[身份验证令牌])。

1 个答案:

答案 0 :(得分:1)

我终于明白了。它实际上与身份验证本身无关,而是与浏览器设置无关。显然,有人修改了我们的dev计算机图像文件,以便在受信任的站点中为HTTPS添加站点,但没有使用HTTPS添加它。所以,IE正在放弃某处的连接。使用和不添加HTTPS或删除这些条目都可以解决问题。