WebFailureAuditEvent Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Informationen über Sicherheitsfehler bereit.
public ref class WebFailureAuditEvent : System::Web::Management::WebAuditEvent
public class WebFailureAuditEvent : System.Web.Management.WebAuditEvent
type WebFailureAuditEvent = class
inherit WebAuditEvent
Public Class WebFailureAuditEvent
Inherits WebAuditEvent
- Vererbung
- Abgeleitet
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie von der WebFailureAuditEvent -Klasse ableiten, um ein benutzerdefiniertes Überwachungsereignis zu erstellen.
using System;
using System.Text;
using System.Web;
using System.Web.Management;
namespace SamplesAspNet
{
// Implements a custom WebFailureAuditEvent class.
public class SampleWebFailureAuditEvent :
System.Web.Management.WebFailureAuditEvent
{
private string customCreatedMsg, customRaisedMsg;
// Invoked in case of events identified only by their event code.
public SampleWebFailureAuditEvent(string msg, object eventSource,
int eventCode):
base(msg, eventSource, eventCode)
{
// Perform custom initialization.
customCreatedMsg =
string.Format("Event created at: {0}",
DateTime.Now.TimeOfDay.ToString());
}
// Invoked in case of events identified by their event code and
// event detailed code.
public SampleWebFailureAuditEvent(string msg, object eventSource,
int eventCode, int detailedCode):
base(msg, eventSource, eventCode, detailedCode)
{
// Perform custom initialization.
customCreatedMsg =
string.Format("Event created at: {0}",
DateTime.Now.TimeOfDay.ToString());
}
// Raises the SampleWebFailureAuditEvent.
public override void Raise()
{
// Perform custom processing.
customRaisedMsg =
string.Format("Event raised at: {0}",
DateTime.Now.TimeOfDay.ToString());
// Raise the event.
WebBaseEvent.Raise(this);
}
// Obtains the current thread information.
public WebRequestInformation GetRequestInformation()
{
// No customization is allowed.
return RequestInformation;
}
//Formats Web request event information.
//This method is invoked indirectly by the provider
//using one of the overloaded ToString methods.
public override void FormatCustomEventDetails(WebEventFormatter formatter)
{
base.FormatCustomEventDetails(formatter);
// Add custom data.
formatter.AppendLine("");
formatter.IndentationLevel += 1;
formatter.AppendLine(
"******** SampleWebFailureAuditEvent Start ********");
formatter.AppendLine(string.Format("Request path: {0}",
RequestInformation.RequestPath));
formatter.AppendLine(string.Format("Request Url: {0}",
RequestInformation.RequestUrl));
// Display custom event timing.
formatter.AppendLine(customCreatedMsg);
formatter.AppendLine(customRaisedMsg);
formatter.AppendLine(
"******** SampleWebFailureAuditEvent End ********");
formatter.IndentationLevel -= 1;
}
}
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
' Implements a custom WebFailureAuditEvent class.
Public Class SampleWebFailureAuditEvent
Inherits System.Web.Management.WebFailureAuditEvent
Private customCreatedMsg, customRaisedMsg As String
' Invoked in case of events identified only by their event code.
Public Sub New(ByVal msg As String, _
ByVal eventSource As Object, ByVal eventCode As Integer)
MyBase.New(msg, eventSource, eventCode)
' Perform custom initialization.
customCreatedMsg = String.Format("Event created at: {0}", _
DateTime.Now.TimeOfDay.ToString())
End Sub
' Invoked in case of events identified by their event code and
' event detailed code.
Public Sub New(ByVal msg As String, ByVal eventSource As Object, _
ByVal eventCode As Integer, ByVal detailedCode As Integer)
MyBase.New(msg, eventSource, eventCode, detailedCode)
' Perform custom initialization.
customCreatedMsg = String.Format("Event created at: {0}", _
DateTime.Now.TimeOfDay.ToString())
End Sub
' Raises the SampleWebFailureAuditEvent.
Public Overrides Sub Raise()
' Perform custom processing.
customRaisedMsg = String.Format("Event raised at: {0}", _
DateTime.Now.TimeOfDay.ToString())
' Raise the event.
WebBaseEvent.Raise(Me)
End Sub
' Obtains the current thread information.
Public Function GetRequestInformation() As WebRequestInformation
' No customization is allowed.
Return RequestInformation
End Function 'GetRequestInformation
'Formats Web request event information.
'This method is invoked indirectly by the provider
'using one of the overloaded ToString methods.
Public Overrides Sub FormatCustomEventDetails(ByVal formatter _
As WebEventFormatter)
MyBase.FormatCustomEventDetails(formatter)
' Add custom data.
formatter.AppendLine("")
formatter.IndentationLevel += 1
formatter.AppendLine("******** SampleWebFailureAuditEvent Start ********")
formatter.AppendLine(String.Format("Request path: {0}", _
RequestInformation.RequestPath))
formatter.AppendLine(String.Format("Request Url: {0}", _
RequestInformation.RequestUrl))
' Display custom event timing.
formatter.AppendLine(customCreatedMsg)
formatter.AppendLine(customRaisedMsg)
formatter.AppendLine("******** SampleWebFailureAuditEvent End ********")
formatter.IndentationLevel -= 1
End Sub
End Class
Der folgende Konfigurationsauszug zeigt, wie Sie ASP.NET aktivieren, um das WebFailureAuditEvent Ereignis zu verwenden.
<healthMonitoring
enabled="true"
heartBeatInterval="0">
<providers>
<add name="EventLogProvider"
type="System.Web.Management.EventLogWebEventProvider,
System.Web,Version=2.0.3600.0,Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
<eventMappings>
<add name="SampleWebFailureAuditEvent"
type="SamplesAspNet.SampleWebFailureAuditEvent,
webfailureauditevent,Version=1.0.1663.31140,
Culture=neutral,
PublicKeyToken=0d1fa0f69d94de96,
processorArchitecture=MSIL"/>
</eventMappings>
<rules>
<add name="Custom Failure Audit Default"
eventName=" SampleWebFailureAuditEvent "
provider="EventLogProvider"
profile="Default"/>
</rules>
</healthMonitoring>
Hinweise
ASP.NET Integritätsüberwachung ermöglicht es Produktions- und Betriebsmitarbeitern, bereitgestellte Webanwendungen zu verwalten. Der System.Web.Management Namespace enthält die Integritätsereignistypen, die für das Packen von Anwendungsintegritätsdaten verantwortlich sind, status und die Anbietertypen, die für die Verarbeitung dieser Daten verantwortlich sind. Es enthält auch unterstützende Typen, die bei der Verwaltung von Integritätsereignissen helfen.
Die WebFailureAuditEvent -Klasse wird verwendet, wenn ein Sicherheitsvorgang fehlschlägt. Ein Beispiel hierfür ist eine fehlerhafte URL-Autorisierung für eine Webanforderung.
Standardmäßig ist ASP.NET so konfiguriert, dass das WebFailureAuditEvent Ereignis für die folgenden Features ausgelöst wird:
Dateiautorisierung. ASP.NET versucht die Dateiautorisierung nur, wenn der Anforderung eine Windows-Identität zugeordnet ist. Der zugehörige Ereignisüberwachungscode ist AuditFileAuthorizationFailure.
URL-Autorisierung. Dadurch werden nicht autorisierte Versuche, auf eine URL-Ressource zuzugreifen, geregelt. Fehlgeschlagene Versuche durch einen anonymen Benutzer werden nicht überwacht, da ein anonymer Authentifizierungsfehler in den meisten Fällen akzeptabel ist. Der zugehörige Ereignisüberwachungscode ist AuditUrlAuthorizationFailure.
Generische unbehandelte oder nicht behandelte Sicherheitsbedingungen. Im Folgenden finden Sie eine Liste der Ereigniscodes, die sich auf diese Bedingungen beziehen:
Wenn ein WebFailureAuditEvent Ereignis ausgelöst wird, erhöht ASP.NET Integritätsüberwachung den zugehörigen Leistungsindikator für Überwachungsfehlerereignisse ausgelöst und überprüft dann den healthMonitoring
Konfigurationsabschnitt, um zu ermitteln, ob Anbieter das Ereignis abonnieren. Wenn Anbieter das Ereignis abonnieren, sendet ASP.NET das Ereignis zur Verarbeitung an sie.
Hinweis
Um den Leistungsindikator Audit Failure Events Raised in System Monitor (PerfMon) anzuzeigen, wählen Sie im Fenster Leistungsindikatoren hinzufügendie Option ASP.NET aus der Dropdownliste Leistungsobjekt aus, wählen Sie den Leistungsindikator Überwachungsfehlerereignisse ausgelöst aus, und klicken Sie auf die Schaltfläche Hinzufügen .
Hinweis
In den meisten Fällen können Sie die ASP.NET Integritätsüberwachungstypen wie implementiert verwenden, und Sie steuern das System zur Integritätsüberwachung, indem Sie Werte im healthMonitoring
Konfigurationsabschnitt angeben. Sie können auch von den Integritätsüberwachungstypen ableiten, um Ihre eigenen benutzerdefinierten Ereignisse und Anbieter zu erstellen. Ein Beispiel für die Ableitung von der WebFailureAuditEvent -Klasse finden Sie im Abschnitt Beispiel.
Hinweise für Vererber
Überschreiben Sie beim Formatieren ihrer benutzerdefinierten Ereignisinformationen für die Anzeige die FormatCustomEventDetails(WebEventFormatter) -Methode und nicht die ToString -Methode. Dadurch wird vermieden, dass vertrauliche Systeminformationen überschrieben oder manipuliert werden.
Konstruktoren
WebFailureAuditEvent(String, Object, Int32, Int32) |
Initialisiert eine neue Instanz der WebFailureAuditEvent-Klasse mit den bereitgestellten Parametern. |
WebFailureAuditEvent(String, Object, Int32) |
Initialisiert eine neue Instanz der WebFailureAuditEvent-Klasse mit den bereitgestellten Parametern. |
Eigenschaften
EventCode |
Ruft den Codewert ab, der dem Ereignis zugeordnet ist. (Geerbt von WebBaseEvent) |
EventDetailCode |
Ruft den Ereignisdetailcode ab. (Geerbt von WebBaseEvent) |
EventID |
Ruft den dem Ereignis zugeordneten Bezeichner ab. (Geerbt von WebBaseEvent) |
EventOccurrence |
Ruft einen Zähler ab, der die Häufigkeit darstellt, mit der das Ereignis eingetreten ist. (Geerbt von WebBaseEvent) |
EventSequence |
Ruft die Häufigkeit ab, mit der das Ereignis von der Anwendung ausgelöst wurde. (Geerbt von WebBaseEvent) |
EventSource |
Ruft das Objekt ab, das das Ereignis auslöst. (Geerbt von WebBaseEvent) |
EventTime |
Ruft die Uhrzeit ab, zu der das Ereignis ausgelöst wurde. (Geerbt von WebBaseEvent) |
EventTimeUtc |
Ruft die Uhrzeit ab, zu der das Ereignis ausgelöst wurde. (Geerbt von WebBaseEvent) |
Message |
Ruft die Meldung ab, in der das Ereignis beschrieben wird. (Geerbt von WebBaseEvent) |
ProcessInformation |
Ruft Informationen über den Hostprozess der ASP.NET-Anwendung ab. (Geerbt von WebManagementEvent) |
RequestInformation |
Ruft die der Webanforderung zugeordneten Informationen ab. (Geerbt von WebAuditEvent) |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FormatCustomEventDetails(WebEventFormatter) |
Stellt Standardformatierung der Ereignisinformationen bereit. (Geerbt von WebBaseEvent) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
IncrementPerfCounters() |
Erhöht den Leistungsindikator Bei Überwachungsfehlern ausgelöste Ereignisse. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
Raise() |
Löst ein Ereignis aus, indem ein konfigurierter Anbieter benachrichtigt wird, dass das Ereignis eingetreten ist. (Geerbt von WebBaseEvent) |
ToString() |
Formatiert Ereignisinformationen für die Anzeige. (Geerbt von WebBaseEvent) |
ToString(Boolean, Boolean) |
Formatiert Ereignisinformationen für die Anzeige. (Geerbt von WebBaseEvent) |