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

身份验证令牌在ASP.NET Web应用程序中工作不正常,asp.net,asp.net-membership,forms-authentication,membership,Asp.net,Asp.net Membership,Forms Authentication,Membership,我已将网站转换为web应用程序,现在该应用程序出现了一种奇怪的行为。本质上,有两个网。有一个网站是用ASP.NET1.1编写的主要正面网站,但其成员资格是从2.0添加的。另一个是以前的web站点,现在已发展为web应用程序 似乎当我登录到网站(项目1)时,我被正确地重定向到web应用程序(项目2)。但是,我单击的任何链接都会将我发送回网站登录(项目1)。机器密钥相同,所有表单身份验证属性都相同 我已经多次停止IIS并删除了临时文件夹中的文件,但仍然无法继续。非常令人沮丧 以下是我的web应用程序

我已将网站转换为web应用程序,现在该应用程序出现了一种奇怪的行为。本质上,有两个网。有一个网站是用ASP.NET1.1编写的主要正面网站,但其成员资格是从2.0添加的。另一个是以前的web站点,现在已发展为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"/>

以下是网站的my forms元素示例:

<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值[authentication token])。

我终于获得了它。它实际上与身份验证本身无关,而是与浏览器设置有关。显然,有人修改了我们的dev机器映像文件,将站点添加到HTTPS的受信任站点中,但没有HTTPS就没有添加它。所以,我在某处断开了连接。添加和不添加HTTPS或删除这些条目都解决了问题。

我终于找到了答案。它实际上与身份验证本身无关,而是与浏览器设置有关。显然,有人修改了我们的dev机器映像文件,将站点添加到HTTPS的受信任站点中,但没有HTTPS就没有添加它。所以,我在某处断开了连接。添加和不添加HTTPS或删除这些条目都解决了问题。

您确定登录页面中的身份验证票证设置正确吗?您是否设置了“名称”属性,如果我修改default.aspx页面并检查User.Identity.IsAuthenticated值,则该值为True。这可能是这台计算机的问题。我试过另一台机器,它似乎在工作。删除临时文件和cookie后立即重新启动。啊!您确定登录页面中的身份验证票证设置正确吗?您是否在web.config中设置了forms元素的“name”属性?如果我修改default.aspx页面并检查User.Identity.IsAuthenticated值,则该值为True。这可能是这台计算机的问题。我试过另一台机器,它似乎在工作。删除临时文件和cookie后立即重新启动。啊!