WebAuditEvent Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Funciona como a classe base de todos os eventos de auditoria de monitoramento de integridade do 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
- Herança
- Derivado
Exemplos
O exemplo de código a seguir mostra como derivar da WebAuditEvent classe para criar um evento de auditoria personalizado.
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
Veja a seguir um trecho do arquivo de configuração que permite que ASP.NET usem o 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="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>
Comentários
ASP.NET monitoramento de integridade permite que a equipe de produção e operações gerencie aplicativos Web implantados. O System.Web.Management namespace contém os tipos de evento de integridade responsáveis por empacotar dados de status de integridade do aplicativo e os tipos de provedor responsáveis por processar esses dados. Ele também contém tipos de suporte que ajudam durante o gerenciamento de eventos de integridade.
A WebAuditEvent classe é a classe base da qual as classes ASP.NET auditoria-evento de monitoramento de integridade derivam. Os eventos de auditoria geram informações sobre operações relacionadas à segurança em um aplicativo Web e fornecem um evento de sucesso e falha para cada operação auditada.
O sistema de monitoramento de integridade pode auditar eventos bem-sucedidos e malsucedidos, o que significa que um aplicativo pode ser monitorado para condições normais e com mau funcionamento. Por padrão, somente os eventos de auditoria de falha são registrados.
As operações a seguir são auditadas por ASP.NET e podem gerar eventos de auditoria de monitoramento de integridade de êxito ou falha:
Tentativas de logon feitas por usuários de um aplicativo ASP.NET. Para obter mais detalhes sobre essa auditoria, consulte WebAuthenticationSuccessAuditEvent e WebSuccessAuditEvent.
Eventos relacionados à segurança, como falhas de autenticação, tentativas de acesso a recursos com falha e outros eventos relacionados à segurança. O log desses eventos pode ser útil ao investigar uma invasão ou ataque ao aplicativo. Por padrão, nenhum suporte de auditoria é fornecido para falhas de autorização de usuários anônimos. Para obter mais detalhes sobre auditorias de eventos de falha, consulte WebAuthenticationFailureAuditEvent e WebFailureAuditEvent.
Eventos personalizados gerados por um aplicativo ASP.NET. Você pode auditar eventos personalizados estendendo a funcionalidade fornecida pela WebAuditEvent classe e classes derivadas
Observação
Na maioria dos casos, você poderá usar os tipos de monitoramento de integridade ASP.NET conforme implementado e controlará o sistema de monitoramento de integridade especificando valores na healthMonitoring
seção de configuração. Você também pode derivar dos tipos de monitoramento de integridade para criar seus próprios eventos e provedores personalizados. Para obter um exemplo de derivação da WebAuditEvent classe, consulte o exemplo fornecido neste tópico.
Notas aos Herdeiros
Ao formatar suas informações de evento personalizadas para exibição, substitua o FormatCustomEventDetails(WebEventFormatter) método em vez do ToString método. Isso evitará substituir ou adulterar informações confidenciais do sistema.
Construtores
WebAuditEvent(String, Object, Int32) |
Inicializa uma nova instância da classe WebAuditEvent usando os parâmetros fornecidos. |
WebAuditEvent(String, Object, Int32, Int32) |
Inicializa uma nova instância da classe WebAuditEvent com os parâmetros de evento especificados. |
Propriedades
EventCode |
Obtém o valor de código associado ao evento. (Herdado de WebBaseEvent) |
EventDetailCode |
Obtém o código de detalhes do evento. (Herdado de WebBaseEvent) |
EventID |
Obtém o identificador associado ao evento. (Herdado de WebBaseEvent) |
EventOccurrence |
Obtém um contador que representa o número de vezes que o evento ocorreu. (Herdado de WebBaseEvent) |
EventSequence |
Obtém o número de vezes que o evento foi gerado pelo aplicativo. (Herdado de WebBaseEvent) |
EventSource |
Obtém o objeto que gera o evento. (Herdado de WebBaseEvent) |
EventTime |
Obtém a hora em que o evento foi gerado. (Herdado de WebBaseEvent) |
EventTimeUtc |
Obtém a hora em que o evento foi gerado. (Herdado de WebBaseEvent) |
Message |
Obtém a mensagem que descreve o evento. (Herdado de WebBaseEvent) |
ProcessInformation |
Obtém informações sobre o processo de hospedagem de aplicativos do ASP.NET. (Herdado de WebManagementEvent) |
RequestInformation |
Obter as informações associadas à solicitação da Web. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
FormatCustomEventDetails(WebEventFormatter) |
Fornece a formatação padrão das informações do evento. (Herdado de WebBaseEvent) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
IncrementPerfCounters() |
Usado internamente para incrementar os contadores de desempenho. (Herdado de WebBaseEvent) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
Raise() |
Gera um evento notificando qualquer provedor configurado de que o evento ocorreu. (Herdado de WebBaseEvent) |
ToString() |
Formata as informações de evento para fins de exibição. (Herdado de WebBaseEvent) |
ToString(Boolean, Boolean) |
Formata as informações de evento para fins de exibição. (Herdado de WebBaseEvent) |