表单身份验证在dev服务器上有效,但在IIS上无效

表单身份验证在dev服务器上有效,但在IIS上无效,iis,forms-authentication,Iis,Forms Authentication,我们也有类似的问题。我们有一个在默认appdomain下运行的web应用程序。直到一周前,它一直运转良好……突然它遇到了一个问题。下面的消息取自事件日志 Event code: 4005 Event message: Forms authentication failed for the request. Reason: The ticket supplied has expired. 应用程序使用FormsAuthentication并从aspnetdb获取角色。。错误发生后,当用户登录到

我们也有类似的问题。我们有一个在默认appdomain下运行的web应用程序。直到一周前,它一直运转良好……突然它遇到了一个问题。下面的消息取自事件日志

Event code: 4005 Event message: Forms authentication failed for the request. Reason: The ticket supplied has expired. 
应用程序使用FormsAuthentication并从aspnetdb获取角色。。错误发生后,当用户登录到该页面时,它不会重定向到default.aspx。再次出现login.aspx。另一方面,应用程序在开发服务器(localhost)上运行良好,但在www(iis6.0)上运行不好

有人有主意吗

谢谢


İlknur

看起来,当应用程序运行的应用程序池处于集成的管道模式(IIS 7下的默认模式)时,您需要添加

<system.webServer>
  <modules>
      <add  name="FormsAuthenticationModule"  type="System.Web.Security.FormsAuthenticationModule" />


最初,我手动将上述部分添加到web.config,但IIS抱怨运行时出错,所以我最终使用IIS的MMC面板(inetmgr)通过GUI添加它。应用程序的配置文件没有修改,但功能开始工作,所以我不确定是哪个配置文件GUI工具应用了更改。

听起来像是ServerFault的问题。@glenatron,甚至不是。处理应用程序的asp.net提供程序功能的配置。与服务器无关。结果表明,C:\Windows\System32\inetsrv\config\applicationHost.config中的配置最终被inetmgr修改,因为本地配置文件的相关部分被锁定。