Partager via


WebSuccessAuditEvent Classe

Définition

Fournit des informations sur les événements de sécurité réussis.

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
Héritage
Dérivé

Exemples

L’exemple de code suivant montre comment dériver de la WebSuccessAuditEvent 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 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’exemple suivant est un extrait du fichier de configuration qui permet à ASP.NET surveillance de l’intégrité 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="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>  

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’status 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 aident à gérer les événements d’intégrité.

La WebSuccessAuditEvent classe est utilisée lorsqu’une opération liée à la sécurité réussie se produit. Une autorisation d’URL réussie pour une demande web en est un exemple.

La liste suivante décrit les fonctionnalités pour lesquelles les événements de type WebSuccessAuditEvent sont déclenchés par ASP.NET :

  • Autorisation de fichier. Les conditions de réussite sont auditées. L’autorisation de fichier est uniquement tentée par ASP.NET lorsqu’une identité Windows est associée à la demande. Le code d’audit d’événement associé est AuditFileAuthorizationSuccess.

  • Autorisation d’URL. Cela signifie l’accès à une ressource URL pour laquelle l’autorisation est accordée. Les conditions de réussite sont auditées. Le code d’audit d’événement associé est AuditUrlAuthorizationSuccess.

  • Autres conditions de sécurité. Voici la liste des codes d’événements associés :

Lorsqu’un WebSuccessAuditEvent est déclenché, ASP.NET analyse de l’intégrité incrémente le compteur de performances des événements de réussite de l’audit déclenché associé, puis vérifie la healthMonitoring configuration pour déterminer si des fournisseurs s’abonnent à l’événement. Si les fournisseurs s’abonnent à l’événement, ASP.NET leur distribue l’événement pour traitement.

Notes

Pour afficher le compteur de performances Audit Success Event Raised dans l’Analyseur système (PerfMon), dans la fenêtre Ajouter des compteurs , sélectionnez ASP.NET dans la liste déroulante Objet de performance, sélectionnez le compteur de performances Audit Success Event Raised , puis cliquez sur le bouton Ajouter . Pour plus d’informations, consultez Supervision ASP.NET performances des applications.

Étant donné que les audits de réussite représentent une condition attendue, il se peut que vous ne souhaitiez pas vous y abonner. Vous pouvez vous y abonner afin de fournir un audit d’accès pour le site.

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 de 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 WebSuccessAuditEvent classe, consultez l’exemple fourni dans cette rubrique.

Constructeurs

WebSuccessAuditEvent(String, Object, Int32, Int32)

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

WebSuccessAuditEvent(String, Object, Int32)

Initialise une nouvelle instance de la classe WebSuccessAuditEvent avec les paramètres 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.

(Hérité de WebAuditEvent)

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()

Incrémente le compteur de performance Événements de succès d'audit déclenchés.

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