2010-04-21 263 views
17

我的事件日誌中充斥着這樣的信息:請求的表單身份驗證失敗。原因:提供的票證已過期

Forms身份驗證失敗的 請求。原因:提供的門票 已過期。

我認爲發生這種情況,當人們超時,而不是註銷。

首先,這是不是一個錯誤,這是Type: Information

我不想要這個信息,我該如何阻止ASP.NET無法登錄嗎?

我的應用程序是不是網絡的養殖,並使用一個靜態機鍵。

+1

從Aristos的很好的回答,但堵在此之前我會做一個小調查,以確保該票是不是在一些非正常方式到期。具有自動生成的機器密鑰某些情況下(這是用於身份驗證票加密)可能會導致問題:見http://msdn.microsoft.com/en-us/library/ms998288.aspx – UpTheCreek 2010-04-26 11:54:28

+0

@Sosh我完全同意 - 事實上我必須說,我抓住並記錄了我的所有錯誤,從不隱藏錯誤/信息 - 另外我想注意的是,即使我在3個不同的站點中有太多的用戶,我也從來沒有看到這個錯誤。所以它可能是一個黑客攻擊,也許它需要找到來自或來自什麼封鎖它的IP。 – Aristos 2010-04-27 06:48:35

+0

同樣的問題,具有稍微不同的期望結果,也會出現問題[ASP.NET窗體身份驗證請求失敗。原因是:所提供的票已過期](http://stackoverflow.com/questions/5266578/asp-net-forms-authentication-failed-for-the-request-reason-the-ticket-supplied)和[錯誤4005種形式身份驗證失敗 - 提供票證已過期](http://stackoverflow.com/questions/284709/error-4005-forms-authentication-failed-ticket-supplied-has-expired?rq=1) – 2014-03-10 11:47:40

回答

16

這裏的解決方案:

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
     <healthMonitoring> 
     <rules> 
      <remove name="Failure Audits Default" /> 
     </rules> 
     </healthMonitoring> 
    </system.web> 
</configuration> 

注意,這將阻止註銷所有System.Web.Management.WebFailureAuditEvent事件,其中包括事件範圍4005-4011。有可能只是刪除4005,但這種解決方案對我來說已經足夠了。

這些都是幫助過我的鏈接:

+1

+1我很想取消刪除我的答案只是爲了讓你的答案看起來更好,但呃..不。 ;-) – 2010-04-27 20:06:39

+1

@Max終於,這是一種方式,但你刪除並刪除所有這些事件,而不僅僅是你要求的。 – Aristos 2010-04-27 20:45:42

+0

@Aristos:並非所有事件,只有4005-4011範圍,都與認證/授權失敗有關。還有一種方法是使用配置將4006-4011範圍添加回來。我知道這不是我正在尋找的確切答案,但它指向正確的方向,即配置。 – 2010-04-28 02:26:12

9

添加到最大託羅的解決方案,併爲好奇,這似乎是一個會加回4006的方式到4011:

<healthMonitoring enabled="true"> 

    <providers> 
    <add name="EventLogProvider" type="System.Web.Management.EventLogWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"/> 
    </providers> 

    <eventMappings> 
    <!-- Event Mappings for 0-4004 and 4006 to infinite, skipping 4005, see last attribute of these entries --> 
    <add name="Failure Audits 1" type="System.Web.Management.WebFailureAuditEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="4004"/> 
    <add name="Failure Audits 2" type="System.Web.Management.WebFailureAuditEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="4006" endEventCode="2147483647"/> 
    </eventMappings> 

    <rules> 
    <!-- REMOVE ITEMS NOTED BY MAX --> 
    <remove name="Failure Audits Default"/>  
    <!-- ADD Back 4006 to 4011 with these two entries, skipping over 4005 --> 
    <add name="Failure Audits Default 1" eventName="Failure Audits 1" provider="EventLogProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom=""/> 
    <add name="Failure Audits Default 2" eventName="Failure Audits 2" provider="EventLogProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom=""/> 
    </rules> 

</healthMonitoring> 

似乎WOR k對我來說。

相關問題