WebFailureAuditEvent Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce informazioni sugli errori di sicurezza.
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
- Ereditarietà
- Derivato
Esempio
Nell'esempio di codice seguente viene illustrato come derivare dalla WebFailureAuditEvent classe per creare un evento di controllo personalizzato.
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
Nell'estratto di configurazione seguente viene illustrato come abilitare ASP.NET per l'uso dell'evento WebFailureAuditEvent .
<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>
Commenti
ASP.NET monitoraggio dell'integrità consente al personale operativo e di produzione di gestire le applicazioni Web distribuite. Lo System.Web.Management spazio dei nomi contiene i tipi di evento di integrità responsabili della creazione del pacchetto dei dati sullo stato di integrità dell'applicazione e i tipi di provider responsabili dell'elaborazione di questi dati. Contiene anche tipi di supporto utili durante la gestione degli eventi di integrità.
La WebFailureAuditEvent classe viene utilizzata quando un'operazione di sicurezza ha esito negativo. Un esempio è un'autorizzazione URL non riuscita per una richiesta Web.
Per impostazione predefinita, ASP.NET è configurato per generare l'evento WebFailureAuditEvent per le funzionalità seguenti:
Autorizzazione file. ASP.NET tenta l'autorizzazione dei file solo quando un'identità di Windows è associata alla richiesta. Il codice di controllo eventi correlato è AuditFileAuthorizationFailure.
Autorizzazione URL. Questo regola i tentativi non autorizzati di accedere a una risorsa URL. I tentativi non riusciti da parte di un utente anonimo non vengono controllati perché l'errore di autenticazione anonima è accettabile nella maggior parte dei casi. Il codice di controllo eventi correlato è AuditUrlAuthorizationFailure.
Condizioni generica non gestite o non gestite di sicurezza. Di seguito è riportato un elenco dei codici evento correlati a queste condizioni:
Quando viene generato un WebFailureAuditEvent evento, ASP.NET monitoraggio dell'integrità incrementa il contatore delle prestazioni generato dagli eventi di errore di controllo correlati e quindi controlla la healthMonitoring
sezione di configurazione per determinare se i provider sottoscrivono l'evento. Se i provider sottoscrivono l'evento, ASP.NET li invia per l'elaborazione.
Nota
Per visualizzare il contatore delle prestazioni Eventi di errore di controllo in Monitoraggio di sistema (PerfMon), nella finestra Aggiungi contatori selezionare ASP.NET dall'elenco a discesa Oggetto prestazioni , selezionare il contatore delle prestazioni Eventi di errore di controllo Generato e fare clic sul pulsante Aggiungi .
Nota
Nella maggior parte dei casi sarà possibile usare i tipi di monitoraggio dell'integrità ASP.NET implementati e sarà possibile controllare il sistema di monitoraggio dell'integrità specificando i valori nella healthMonitoring
sezione di configurazione. È anche possibile derivare dai tipi di monitoraggio dell'integrità per creare provider ed eventi personalizzati. Per un esempio di derivazione dalla WebFailureAuditEvent classe , vedere la sezione Esempio.
Note per gli eredi
Quando si formattano le informazioni sull'evento personalizzato per la visualizzazione, eseguire l'override del FormatCustomEventDetails(WebEventFormatter) metodo anziché del ToString metodo . In questo modo si evita di sovrascrivere o manomettere le informazioni sensibili del sistema.
Costruttori
WebFailureAuditEvent(String, Object, Int32, Int32) |
Inizializza una nuova istanza della classe WebFailureAuditEvent utilizzando i parametri forniti. |
WebFailureAuditEvent(String, Object, Int32) |
Inizializza una nuova istanza della classe WebFailureAuditEvent utilizzando i parametri forniti. |
Proprietà
EventCode |
Ottiene il valore di codice associato all'evento. (Ereditato da WebBaseEvent) |
EventDetailCode |
Ottiene il codice dettagliato dell'evento. (Ereditato da WebBaseEvent) |
EventID |
Ottiene l'identificatore associato all'evento. (Ereditato da WebBaseEvent) |
EventOccurrence |
Ottiene un contatore che rappresenta il numero di occorrenze dell'evento. (Ereditato da WebBaseEvent) |
EventSequence |
Ottiene il numero di volte in cui l'evento è stato generato dall'applicazione. (Ereditato da WebBaseEvent) |
EventSource |
Ottiene l'oggetto che genera l'evento. (Ereditato da WebBaseEvent) |
EventTime |
Ottiene la data e l'ora in cui è stato generato l'evento. (Ereditato da WebBaseEvent) |
EventTimeUtc |
Ottiene la data e l'ora in cui è stato generato l'evento. (Ereditato da WebBaseEvent) |
Message |
Ottiene il messaggio nel quale è descritto l'evento. (Ereditato da WebBaseEvent) |
ProcessInformation |
Ottiene informazioni sul processo che ospita l'applicazione ASP.NET. (Ereditato da WebManagementEvent) |
RequestInformation |
Ottiene le informazioni associate alla richiesta Web. (Ereditato da WebAuditEvent) |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
FormatCustomEventDetails(WebEventFormatter) |
Fornisce una formattazione standard delle informazioni relative all'evento. (Ereditato da WebBaseEvent) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IncrementPerfCounters() |
Incrementa il contatore delle prestazioni Eventi errori di controllo generati. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
Raise() |
Genera un evento notificando a qualsiasi provider configurato che l'evento si è verificato. (Ereditato da WebBaseEvent) |
ToString() |
Formatta le informazioni relative all'evento ai fini della visualizzazione. (Ereditato da WebBaseEvent) |
ToString(Boolean, Boolean) |
Formatta le informazioni relative all'evento ai fini della visualizzazione. (Ereditato da WebBaseEvent) |