Condividi tramite


WebSuccessAuditEvent Classe

Definizione

Fornisce informazioni sugli eventi di sicurezza con esito positivo.

public ref class WebSuccessAuditEvent : System::Web::Management::WebAuditEvent
public class WebSuccessAuditEvent : System.Web.Management.WebAuditEvent
type WebSuccessAuditEvent = class
    inherit WebAuditEvent
Public Class WebSuccessAuditEvent
Inherits WebAuditEvent
Ereditarietà
Derivato

Esempio

Nell'esempio di codice seguente viene illustrato come derivare dalla WebSuccessAuditEvent 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 WebSuccessAuditEvent class. 
    public class SampleWebSuccessAuditEvent :
        System.Web.Management.WebSuccessAuditEvent
    {
        private string customCreatedMsg, customRaisedMsg;

        // Invoked in case of events identified only by their event code.
        public SampleWebSuccessAuditEvent(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 SampleWebSuccessAuditEvent(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 SampleWebSuccessAuditEvent.
        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 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(
                "******** SampleWebSuccessAuditEvent 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(
                "******** SampleWebSuccessAuditEvent End ********");

            formatter.IndentationLevel -= 1;
        }
    }
}
Imports System.Text
Imports System.Web
Imports System.Web.Management


' Implements a custom WebSuccessAuditEvent class. 

Public Class SampleWebSuccessAuditEvent
    Inherits System.Web.Management.WebSuccessAuditEvent
    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 SampleWebSuccessAuditEvent.
    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 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("**SampleWebSuccessAuditEvent 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("** SampleWebSuccessAuditEvent End **")

        formatter.IndentationLevel -= 1

    End Sub
End Class

L'esempio seguente è un estratto del file di configurazione che consente di ASP.NET il monitoraggio dell'integrità per l'uso dell'evento.

<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="SampleWebSuccessAuditEvent"   
      type="SamplesAspNet.SampleWebSuccessAuditEvent,  
      websuccessauditevent,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 WebSuccessAuditEvent classe viene utilizzata quando si verifica un'operazione correlata alla sicurezza. Un esempio è un'autorizzazione url riuscita per una richiesta Web.

Nell'elenco seguente vengono descritte le funzionalità per le quali vengono generati eventi di tipo WebSuccessAuditEvent ASP.NET:

  • Autorizzazione file. Vengono controllate le condizioni di esito positivo. L'autorizzazione file viene tentata solo da ASP.NET quando un'identità di Windows è associata alla richiesta. Il codice di controllo eventi correlato è AuditFileAuthorizationSuccess.

  • Autorizzazione URL. Indica l'accesso a una risorsa URL per cui viene concessa l'autorizzazione. Vengono controllate le condizioni di esito positivo. Il codice di controllo eventi correlato è AuditUrlAuthorizationSuccess.

  • Altre condizioni di sicurezza. Di seguito è riportato un elenco dei codici evento correlati:

Quando viene generato un WebSuccessAuditEvent oggetto , ASP.NET monitoraggio dell'integrità incrementa il contatore delle prestazioni Audit Success Events Raised e quindi controlla la healthMonitoring 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 Audit Success Event Raised in System Monitor (PerfMon), nella finestra Aggiungi contatori selezionare ASP.NET dall'elenco a discesa Oggetto prestazioni , selezionare il contatore delle prestazioni Audit Success Event Raised e fare clic sul pulsante Aggiungi . Per altre informazioni, vedere Monitoraggio delle prestazioni dell'applicazione ASP.NET.

Poiché i controlli di esito positivo rappresentano una condizione prevista, è possibile che non si voglia sottoscrivere tali controlli. È possibile sottoscrivere tali utenti per fornire il controllo di accesso per il sito.

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 WebSuccessAuditEvent classe , vedere l'esempio fornito in questo argomento.

Costruttori

WebSuccessAuditEvent(String, Object, Int32, Int32)

Inizializza una nuova istanza della classe WebSuccessAuditEvent utilizzando i parametri forniti.

WebSuccessAuditEvent(String, Object, Int32)

Inizializza una nuova istanza della classe WebSuccessAuditEvent 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 di controllo riusciti 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)

Si applica a

Vedi anche