.NET 2.0 Web App身份验证失败:"提供的故障单无效"

Jus*_*son 1 .net asp.net forms-authentication

我有一个带有2.0应用程序的.NET 4.0应用程序作为孩子.Web应用程序不在多服务器环境中; 只有一台服务器参与提供这些请求.两个应用程序都使用自定义身份验证,两个应用程序具有相同的machineKey属性和值 当我访问2.0应用程序时,事件日志显示以下消息:

Event code: 4005 
Event message: Forms authentication failed for the request. Reason: The ticket supplied was invalid. 
Event time: 12/2/2011 11:36:49 AM 
Event time (UTC): 12/2/2011 5:36:49 PM 
Event ID: 2068ad6957964f75885301fc2b58ddfe 
Event sequence: 2 
Event occurrence: 1 
Event detail code: 50201
Run Code Online (Sandbox Code Playgroud)

我尝试ticketCompatibilityMode在Web.config中的forms元素上将属性设置为Framework20,但这并没有解决问题.由于此错误,用户未被授权,因此通常的对象(HttpContext)没有填充用户信息.

有谁知道如何修复此错误,以便身份验证适用于2.0应用程序?(顺便说一下,我的确计划将2.0应用程序升级到4.0,但此时不能完成此卡)

Jus*_*son 5

如果有人遇到同样的问题,我可以通过<appSettings>在我的.NET 2.0应用程序的Web.config部分添加一些条目来修复此错误.添加的条目是:

<add key="aspnet:UseLegacyEncryption" value="true" />
<add key="aspnet:UseLegacyMachineKeyEncryption" value="true" />
Run Code Online (Sandbox Code Playgroud)

编辑(2012-05-04):在服务器上安装安全公告MS11-100后,2.0应用程序再次验证了身份验证.将以下内容添加到4.0应用程序的Web.config中修复了以下问题:

<add key="aspnet:UseLegacyFormsAuthenticationTicketCompatibility" value="true" />
Run Code Online (Sandbox Code Playgroud)