WebSuccessAuditEvent 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.
Fornece informações sobre eventos de segurança bem-sucedidos.
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
- Herança
- Derivado
Exemplos
O exemplo de código a seguir mostra como derivar da WebSuccessAuditEvent 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 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
O exemplo a seguir é um trecho do arquivo de configuração que permite que ASP.NET monitoramento de integridade use 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="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>
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 WebSuccessAuditEvent classe é usada quando ocorre uma operação relacionada à segurança bem-sucedida. Um exemplo disso é uma autorização de URL bem-sucedida para uma solicitação da Web.
A lista a seguir descreve os recursos para os quais os eventos do tipo WebSuccessAuditEvent são gerados por ASP.NET:
Autorização de arquivo. Condições bem-sucedidas são auditadas. A autorização de arquivo só é tentada por ASP.NET quando uma identidade de Windows está associada à solicitação. O código de auditoria de evento relacionado é AuditFileAuthorizationSuccess.
Autorização de URL. Ele significa o acesso de um recurso de URL para o qual a autorização é concedida. Condições bem-sucedidas são auditadas. O código de auditoria de evento relacionado é AuditUrlAuthorizationSuccess.
Outras condições de segurança. Veja a seguir uma lista dos códigos de evento relacionados:
Quando um WebSuccessAuditEvent é gerado, ASP.NET monitoramento de integridade incrementa o contador de desempenho gerado pelos Eventos de Sucesso de Auditoria relacionados e verifica a configuração healthMonitoring para determinar se os provedores assinam o evento. Se os provedores assinarem o evento, ASP.NET enviará o evento para eles para processamento.
Note
Para exibir o contador de desempenho gerado pelo evento Audit Success no Monitor do Sistema (PerfMon), na janela Add Counters, selecione ASP.NET do objeto Performance lista suspensa, selecione o Audit Success Event Raised performance counter, e clique no botão Add. Para obter mais informações, consulte Monitoring ASP.NET Application Performance.
Como as auditorias de êxito representam uma condição esperada, talvez você não queira assiná-las. Você pode assiná-las para fornecer auditoria de acesso para o site.
Note
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 seção de configuração healthMonitoring. 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 WebSuccessAuditEvent classe, consulte o exemplo fornecido neste tópico.
Construtores
| Nome | Description |
|---|---|
| WebSuccessAuditEvent(String, Object, Int32, Int32) |
Inicializa uma nova instância da WebSuccessAuditEvent classe usando os parâmetros fornecidos. |
| WebSuccessAuditEvent(String, Object, Int32) |
Inicializa uma nova instância da WebSuccessAuditEvent classe usando os parâmetros fornecidos. |
Propriedades
| Nome | Description |
|---|---|
| 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 acionado. (Herdado de WebBaseEvent) |
| EventTimeUtc |
Obtém a hora em que o evento foi acionado. (Herdado de WebBaseEvent) |
| Message |
Obtém a mensagem que descreve o evento. (Herdado de WebBaseEvent) |
| ProcessInformation |
Obtém informações sobre o ASP.NET processo de hospedagem de aplicativos. (Herdado de WebManagementEvent) |
| RequestInformation |
Obtenha as informações associadas à solicitação da Web. (Herdado de WebAuditEvent) |
Métodos
| Nome | Description |
|---|---|
| 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() |
Incrementa o contador de desempenho Audit Success Events Raised. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| Raise() |
Gera um evento notificando qualquer provedor configurado de que o evento ocorreu. (Herdado de WebBaseEvent) |
| ToString() |
Formata informações de evento para fins de exibição. (Herdado de WebBaseEvent) |
| ToString(Boolean, Boolean) |
Formata informações de evento para fins de exibição. (Herdado de WebBaseEvent) |