2010-02-08 79 views
0

我们有类似的问题。我们有一个在默认appdomain下运行的web应用程序。它工作正常,直到一个星期前...突然它遇到了一个问题。以下消息来自事件日志。表单身份验证在开发服务器上工作,但不在IIS上

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

听起来像是一个针对ServerFault的问题。 – glenatron

+0

@glenatron,甚至没有。处理应用程序的asp.net提供程序功能的配置。与服务器无关。 –

回答

0

看起来,当应用程序池您的应用程序上运行的是集成托管管道模式,这是IIS 7下默认情况下,你将需要添加

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

进行配置。

请参考从this article

为[上的静态文件执行基于表单的身份验证和URL的身份验证与IIS 7]部分最初我手工加入上述部分的web.config,但IIS运行时错误抱怨,所以我最终使用IIS的MMC面板(inetmgr)通过GUI添加它。应用程序的配置文件没有被修改,但功能开始工作,所以我不确定哪个配置文件GUI工具应用了更改。

+0

事实证明,C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config中的配置最终被inetmgr修改,因为本地配置文件的相关部分被锁定。 – Sherlock

相关问题