2010-02-08 102 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

相關問題