我们遇到了类似的问题。我们有一个在默认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(IIS 6.0)上运行不正常。
有人有想法吗?
谢谢,
İlknur
答案 0 :(得分:0)
当应用程序池正在运行的应用程序池处于集成管道管道模式(IIS 7中的默认管理模式)时,您需要添加
<system.webServer>
<modules>
<add name="FormsAuthenticationModule" type="System.Web.Security.FormsAuthenticationModule" />
进行配置。
请参阅this article
中的[使用IIS 7对静态文件执行基于表单的身份验证和URL身份验证]部分最初我手动将上述部分添加到web.config,但IIS抱怨运行时错误,所以我最终使用MMC面板为IIS(inetmgr)通过GUI添加它。应用程序的配置文件未被修改,但功能开始工作,所以我不确定哪个配置文件GUI工具应用了更改。