WebFailureAuditEvent Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des informations sur les défaillances de sécurité.
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
- Héritage
- Dérivé
Exemples
L’exemple de code suivant montre comment dériver de la WebFailureAuditEvent 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 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
L’extrait de configuration suivant montre comment activer ASP.NET pour utiliser l’événement 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>
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 de 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 facilitent la gestion des événements d’intégrité.
La WebFailureAuditEvent classe est utilisée lorsqu’une opération de sécurité échoue. Par exemple, l’autorisation d’URL a échoué pour une requête Web.
Par défaut, ASP.NET est configuré pour déclencher l’événement WebFailureAuditEvent pour les fonctionnalités suivantes :
Autorisation de fichier. ASP.NET tente l’autorisation de fichier uniquement lorsqu’une identité Windows est associée à la demande. Le code d’audit d’événement associé est AuditFileAuthorizationFailure.
Autorisation d’URL. Cela régit les tentatives non autorisées d’accès à une ressource d’URL. Les tentatives ayant échoué par un utilisateur anonyme ne sont pas auditées, car l’échec de l’authentification anonyme est acceptable dans la plupart des cas. Le code d’audit d’événement associé est AuditUrlAuthorizationFailure.
Conditions génériques non gérées ou non gérées de sécurité. Voici une liste des codes d’événement liés à ces conditions :
Lorsqu’un WebFailureAuditEvent événement est déclenché, ASP.NET surveillance de l’intégrité incrémente le compteur de performances Événements d’échec d’audit déclenchés, puis vérifie la healthMonitoring
section de 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 Événements d’échec d’audit déclenchés dans le Moniteur 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 Événements d’échec d’audit déclenchés , puis cliquez sur le bouton Ajouter .
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 WebFailureAuditEvent classe , consultez la section Exemple.
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
WebFailureAuditEvent(String, Object, Int32, Int32) |
Initialise une nouvelle instance de la classe WebFailureAuditEvent avec les paramètres spécifiés. |
WebFailureAuditEvent(String, Object, Int32) |
Initialise une nouvelle instance de la classe WebFailureAuditEvent 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 d'échec 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) |