WebAuthenticationSuccessAuditEvent Classe

Definição

Fornece informações sobre eventos de autenticação bem-sucedidos.

public ref class WebAuthenticationSuccessAuditEvent : System::Web::Management::WebSuccessAuditEvent
public class WebAuthenticationSuccessAuditEvent : System.Web.Management.WebSuccessAuditEvent
type WebAuthenticationSuccessAuditEvent = class
    inherit WebSuccessAuditEvent
Public Class WebAuthenticationSuccessAuditEvent
Inherits WebSuccessAuditEvent
Herança

Exemplos

Este exemplo de código tem duas partes: um excerto de ficheiro de configuração, seguido de código que mostra como personalizar o WebAuthenticationSuccessAuditEvent evento.

Segue-se um excerto dos ficheiros provider de configuração e eventMappings secções. Já estão definidos por defeito. A única coisa que precisas de fazer é fornecer a preparação para o rules elemento na healthMonitoring secção.

<healthMonitoring
  enabled="true"
  heartBeatInterval="0">

    <providers>
      // Configure the provider to process
      // the health events.
      <add name="EventLogProvider"
         type="System.Web.Management.EventLogWebEventProvider,
         System.Web,Version=2.0.3600.0,Culture=neutral,
         PublicKeyToken=b03f5f7f11d50a3a"/>
    </providers>

    <eventMappings>
       <clear />
       // Configure the custom event
       // to handle the audit events.
        <add name="SampleWebAuthenticationSuccessAuditEvent"
          type="SamplesAspNet.SampleWebAuthenticationSuccessAuditEvent,
          webauthsuccessaudit, Version=1.0.1735.23144, Culture=neutral,
          PublicKeyToken=dd969eda3f3f6ae1, processorArchitecture=MSIL" />

     </eventMappings>
     <rules>
       <clear/>
       // Establish the connection between custom event
       // and the provider that must process it.
      <add name="Log Authentication Success Audits"
        eventName="SampleWebAuthenticationFailureAuditEvent"
        provider="EventLogProvider"
        profile="Custom" />\
     </rules>

</healthMonitoring>

O código seguinte mostra como personalizar o WebAuthenticationSuccessAuditEvent evento.


using System;
using System.Text;
using System.Web;
using System.Web.Management;

namespace SamplesAspNet
{
    // Implements a custom WebAuthenticationSuccessAuditEvent class. 
    public class SampleWebAuthenticationSuccessAuditEvent : 
        System.Web.Management.WebAuthenticationSuccessAuditEvent
    {
        private string customCreatedMsg, customRaisedMsg;

        // Invoked in case of events identified only by their event code.
        public SampleWebAuthenticationSuccessAuditEvent(
            string msg, object eventSource, 
            int eventCode, string userName):
        base(msg, eventSource, eventCode, userName)
        {
            // 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 SampleWebAuthenticationSuccessAuditEvent(
            string msg, object eventSource,
            int eventCode, int detailedCode, string userName):
        base(msg, eventSource, eventCode, detailedCode, userName)
        {
            // Perform custom initialization.
            customCreatedMsg =
            string.Format("Event created at: {0}",
                DateTime.Now.TimeOfDay.ToString());
        }


        // Raises the SampleWebAuthenticationSuccessAuditEvent.
        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(
                "* SampleWebAuthenticationSuccessAuditEvent 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(
                "* SampleWebAuthenticationSuccessAuditEvent End *");

            formatter.IndentationLevel -= 1;
        }
    }
}
Imports System.Text
Imports System.Web
Imports System.Web.Management


' Implements a custom WebAuthenticationSuccessAuditEvent class. 

Public Class SampleWebAuthenticationSuccessAuditEvent
    Inherits System.Web.Management.WebAuthenticationSuccessAuditEvent
    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, _
    ByVal userName As String)
        MyBase.New(msg, eventSource, eventCode, userName)
        ' 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, _
    ByVal userName As String)
        MyBase.New(msg, eventSource, eventCode, _
        detailedCode, userName)
        ' Perform custom initialization.
        customCreatedMsg = _
        String.Format( _
        "Event created at: {0}", _
        DateTime.Now.TimeOfDay.ToString())

    End Sub
    
    
    
    ' Raises the SampleWebAuthenticationSuccessAuditEvent.
    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( _
        "* SampleWebAuthenticationSuccessAuditEvent 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( _
        "* SampleWebAuthenticationSuccessAuditEvent End *")

        formatter.IndentationLevel -= 1

    End Sub
End Class

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 lista seguinte descreve as características para as quais ASP.NET eleva eventos do tipo WebAuthenticationSuccessAuditEvent.

Note

Por defeito, o ASP.NET está configurado para registar apenas as condições de falha da auditoria, pois as condições de sucesso podem sobrecarregar severamente os recursos do sistema. Podes sempre configurar o sistema para registar as condições de sucesso.

  • Autenticação de formulários. As condições bem-sucedidas são auditadas. As auditorias de sucesso incluem o nome de utilizador que foi autenticado. Em vez disso, as auditorias de falhas não incluem o nome de utilizador, pois normalmente resultam de um ticket que falhou na desencriptação ou validação. Ambos contêm o endereço IP do cliente. O código de auditoria de eventos relacionados é AuditFormsAuthenticationSuccess.

  • Membros. As condições bem-sucedidas são auditadas. Tanto as auditorias de sucesso como as de fracasso contêm o nome de utilizador que foi tentado. Nenhuma das formas de auditoria conterá a palavra-passe tentada, pois isso arriscaria persistir uma palavra-passe válida no registo. O código de auditoria de eventos relacionados é AuditMembershipAuthenticationSuccess.

Quando a WebAuthenticationSuccessAuditEvent é elevado, por defeito, atualiza o contador de desempenho de Eventos de Sucesso de Autenticação Elevados. Para visualizar este contador de desempenho no System Monitor (PerfMon), na janela Add Counters selecione ASP.NET na lista suspensa Performance object, selecione o contador de desempenho Authentication Success Events Raised e clique no botão Add. Para mais informações, veja Using the System Monitor (PerfMon) com ASP.NET Applications.

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 WebBaseEvent turma, veja o exemplo apresentado neste tópico.

Construtores

Name Description
WebAuthenticationSuccessAuditEvent(String, Object, Int32, Int32, String)

Inicializa a WebSuccessAuditEvent classe usando os parâmetros fornecidos.

WebAuthenticationSuccessAuditEvent(String, Object, Int32, String)

Inicializa a WebAuthenticationSuccessAuditEvent 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)
NameToAuthenticate

Obtém o nome do utilizador autenticado.

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.

(Herdado de WebSuccessAuditEvent)
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)

Aplica-se a

Ver também