WebSuccessAuditEvent Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 seguinte mostra como derivar a partir 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 seguinte é um excerto do ficheiro de configuração que permite que a monitorização de saúde do ASP.NET utilize 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>
Observações
A monitorização do estado do ASP.NET permite que as equipas de produção e operações gerenciem aplicações Web implementadas. O System.Web.Management namespace contém os tipos de eventos de saúde responsáveis por empacotar os dados de estado de saúde da aplicação e os tipos de fornecedores responsáveis pelo processamento desses dados. Inclui também tipos de apoio que ajudam na gestão de eventos de saúde.
A WebSuccessAuditEvent classe é usada quando ocorre uma operação relacionada com segurança bem-sucedida. Um exemplo disto é uma autorização de URL bem-sucedida para um pedido Web.
A lista seguinte descreve as características para as quais eventos do tipo WebSuccessAuditEvent são elevados por ASP.NET:
Autorização de Apresentação. As condições bem-sucedidas são auditadas. A autorização de ficheiros só é tentada pelo ASP.NET quando uma Identidade Windows está associada ao pedido. O código de auditoria de eventos relacionados é AuditFileAuthorizationSuccess.
Autorização de URL. Significa o acesso a um recurso URL para o qual é concedida autorização. As condições bem-sucedidas são auditadas. O código de auditoria de eventos relacionados é AuditUrlAuthorizationSuccess.
Outras condições de segurança. Segue-se uma lista dos códigos de eventos relacionados:
Quando um WebSuccessAuditEvent é elevado, ASP.NET monitorização de saúde incrementa o contador de desempenho elevado de Eventos de Sucesso em Auditoria e depois verifica a configuração healthMonitoring para determinar se algum fornecedor subscreve o evento. Se os fornecedores subscreverem o evento, o ASP.NET envia o evento para eles para processamento.
Note
Para visualizar o contador de desempenho Event Success Raised na Auditoria no System Monitor (PerfMon), na janela Add Counters selecione ASP.NET da lista suspensa Performance object, selecione o contador de desempenho Audit Success Event Raised, e clicar no botão Adicionar. Para mais informações, consulte Monitorização ASP.NET Desempenho da Aplicação.
Como as auditorias de sucesso representam uma condição esperada, pode não querer subscrevê-las. Pode subscrever-se para fornecer auditoria de acesso ao site.
Note
Na maioria dos casos, poderá usar os tipos de monitorização de saúde ASP.NET tal como implementados, e controlará o sistema de monitorização de saúde especificando valores na secção de configuração healthMonitoring. Também pode recorrer aos tipos de monitorização de saúde para criar os seus próprios eventos e prestadores personalizados. Para um exemplo de derivação da WebSuccessAuditEvent turma, veja o exemplo apresentado neste tópico.
Construtores
| Name | 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
| Name | Description |
|---|---|
| EventCode |
Obtém o valor do código associado ao evento. (Herdado de WebBaseEvent) |
| EventDetailCode |
Obtém o código de detalhe do evento. (Herdado de WebBaseEvent) |
| EventID |
Obtém o identificador associado ao evento. (Herdado de WebBaseEvent) |
| EventOccurrence |
Recebe 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 levantado pela aplicação. (Herdado de WebBaseEvent) |
| EventSource |
Fica com o objeto que eleva o evento. (Herdado de WebBaseEvent) |
| EventTime |
Obtém a hora em que o evento foi levantado. (Herdado de WebBaseEvent) |
| EventTimeUtc |
Obtém a hora em que o evento foi levantado. (Herdado de WebBaseEvent) |
| Message |
Recebe a mensagem que descreve o evento. (Herdado de WebBaseEvent) |
| ProcessInformation |
Obtém informações sobre o processo de alojamento de aplicações ASP.NET. (Herdado de WebManagementEvent) |
| RequestInformation |
Obtenha as informações associadas ao pedido online. (Herdado de WebAuditEvent) |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| FormatCustomEventDetails(WebEventFormatter) |
Fornece formatação padrão da informação do evento. (Herdado de WebBaseEvent) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IncrementPerfCounters() |
Incrementa os Eventos de Sucesso da Auditoria Aumentou o contador de desempenho. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| Raise() |
Levanta um evento ao notificar qualquer fornecedor configurado de que o evento ocorreu. (Herdado de WebBaseEvent) |
| ToString() |
Formata a informação do evento para fins de exibição. (Herdado de WebBaseEvent) |
| ToString(Boolean, Boolean) |
Formata a informação do evento para fins de exibição. (Herdado de WebBaseEvent) |