WebAuditEvent Classe

Définition

Sert de classe de base pour tous les événements d'audit de contrôle d'état ASP.NET.

public ref class WebAuditEvent : System::Web::Management::WebManagementEvent
public class WebAuditEvent : System.Web.Management.WebManagementEvent
type WebAuditEvent = class
    inherit WebManagementEvent
Public Class WebAuditEvent
Inherits WebManagementEvent
Héritage
Dérivé

Exemples

L’exemple de code suivant montre comment dériver de la WebAuditEvent classe pour créer un événement d’audit personnalisé.


using System;
using System.Text;
using System.Web;
using System.Web.Management;

namespace SamplesAspNet
{
    // Implements a custom WebAuditEvent class. 
    public class SampleWebAuditEvent : System.Web.Management.WebAuditEvent
    {
        private string customCreatedMsg, customRaisedMsg;

        // Invoked in case of events identified only by their event code.
        public SampleWebAuditEvent(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 SampleWebAuditEvent(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 SampleWebAuditEvent.
        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()
        {
            // Obtain the Web request information.
            // No customization is allowed here.
            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(
                "******** SampleWebAuditEvent Information 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(
                "******** SampleWebAuditEvent Information End ********");

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


' Implements a custom WebAuditEvent class. 

Public Class SampleWebAuditEvent
    Inherits System.Web.Management.WebAuditEvent
    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 SampleWebAuditEvent.
    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 
        ' Obtain the Web request information.
        ' No customization is allowed here.
        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("******** SampleWebAuditEvent Information 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("******** SampleWebAuditEvent Information End ********")
        
        formatter.IndentationLevel -= 1
    
    End Sub
End Class

Voici un extrait du fichier de configuration qui permet ASP.NET d’utiliser l’événement.

<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="SampleWebAuditEvent"   
      type="SamplesAspNet.SampleWebAuditEvent,  
      webauditevent,Version=1.0.1663.31140,   
      Culture=neutral,   
      PublicKeyToken=0d1fa0f69d94de96,   
      processorArchitecture=MSIL"/>  
  </eventMappings>  

  <rules>  
    <add name="Custom Audit Default"  
      eventName="SampleWebAuditEvent"  
      provider="EventLogProvider"  
      profile="Default"/>    
  </rules>  

</healthMonitoring>  

Remarques

ASP.NET surveillance de l’intégrité permet au personnel de production et d’exploitation de gérer les applications web déployées. L’espace System.Web.Management de noms contient les types d’événements d’intégrité responsables de l’empaquetage des données d’état d’intégrité de l’application et les types de fournisseurs responsables du traitement de ces données. Il contient également des types de prise en charge qui facilitent la gestion des événements d’intégrité.

La WebAuditEvent classe est la classe de base à partir de laquelle dérivent les ASP.NET classes audit-event de surveillance de l’intégrité. Les événements d’audit génèrent des informations sur les opérations liées à la sécurité dans une application web et fournissent un événement de réussite et d’échec pour chaque opération auditée.

Le système de surveillance de l’intégrité peut auditer à la fois les événements réussis et les événements qui échouent, ce qui signifie qu’une application peut être surveillée à la fois pour les conditions normales et les conditions défectueuses. Par défaut, seuls les événements d’audit d’échec sont enregistrés.

Les opérations suivantes sont auditées par ASP.NET et peuvent générer des événements d’audit de surveillance de l’intégrité de réussite ou d’échec :

  • Tentatives de connexion effectuées par les utilisateurs d’une application ASP.NET. Pour plus d’informations sur cet audit, consultez WebAuthenticationSuccessAuditEvent et WebSuccessAuditEvent.

  • Événements liés à la sécurité, tels que les échecs d’authentification, les tentatives d’accès aux ressources ayant échoué et d’autres événements liés à la sécurité. Le journal de ces événements peut être utile lors de l’investigation d’une intrusion ou d’une attaque sur l’application. Par défaut, aucune prise en charge de l’audit n’est fournie pour les échecs d’autorisation des utilisateurs anonymes. Pour plus d’informations sur les audits d’événements d’échec, consultez WebAuthenticationFailureAuditEvent et WebFailureAuditEvent.

  • Événements personnalisés déclenchés par une application ASP.NET. Vous pouvez auditer les événements personnalisés en étendant les fonctionnalités fournies par la WebAuditEvent classe et les classes dérivées

Notes

Dans la plupart des cas, vous serez en mesure d’utiliser les ASP.NET types de surveillance de l’intégrité tels qu’ils sont implémentés, et vous contrôlerez le système de surveillance de l’intégrité en spécifiant des valeurs dans la healthMonitoring section configuration. Vous pouvez également dériver des types de surveillance de l’intégrité pour créer vos propres événements et fournisseurs personnalisés. Pour obtenir un exemple de dérivation de la WebAuditEvent classe , consultez l’exemple fourni dans cette rubrique.

Notes pour les héritiers

Lorsque vous mettez en forme vos informations d’événement personnalisées pour l’affichage, remplacez la FormatCustomEventDetails(WebEventFormatter) méthode par ToString la méthode . Cela évitera de remplacer ou de falsifier des informations système sensibles.

Constructeurs

WebAuditEvent(String, Object, Int32)

Initialise une nouvelle instance de la classe WebAuditEvent avec les paramètres spécifiés.

WebAuditEvent(String, Object, Int32, Int32)

Initialise une nouvelle instance de la classe WebAuditEvent avec les paramètres d'événement spécifiés.

Propriétés

EventCode

Obtient la valeur de code associée à l'événement.

(Hérité de WebBaseEvent)
EventDetailCode

Obtient le code de détail de l'événement.

(Hérité de WebBaseEvent)
EventID

Obtient l’identificateur associé à l’événement.

(Hérité de WebBaseEvent)
EventOccurrence

Obtient un compteur qui représente le nombre de fois où l'événement a eu lieu.

(Hérité de WebBaseEvent)
EventSequence

Obtient le nombre de fois où l'événement a été déclenché par l'application.

(Hérité de WebBaseEvent)
EventSource

Obtient l'objet qui déclenche l'événement.

(Hérité de WebBaseEvent)
EventTime

Obtient l'heure à laquelle l'événement a été déclenché.

(Hérité de WebBaseEvent)
EventTimeUtc

Obtient l'heure à laquelle l'événement a été déclenché.

(Hérité de WebBaseEvent)
Message

Obtient le message qui décrit l'événement.

(Hérité de WebBaseEvent)
ProcessInformation

Obtient des informations sur le processus d'hébergement d'application ASP.NET.

(Hérité de WebManagementEvent)
RequestInformation

Obtient les informations associées à la demande Web.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
FormatCustomEventDetails(WebEventFormatter)

Fournit la mise en forme standard des informations sur l'événement.

(Hérité de WebBaseEvent)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IncrementPerfCounters()

Utilisé en interne pour incrémenter des compteurs de performance.

(Hérité de WebBaseEvent)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
Raise()

Déclenche un événement en notifiant à tout fournisseur configuré que l'événement s'est produit.

(Hérité de WebBaseEvent)
ToString()

Met en forme les informations sur l'événement à des fins d'affichage.

(Hérité de WebBaseEvent)
ToString(Boolean, Boolean)

Met en forme les informations sur l'événement à des fins d'affichage.

(Hérité de WebBaseEvent)

S’applique à

Voir aussi