Compartilhar via


DefaultAuthenticationEventHandler Delegar

Definição

Representa o método que manipula o evento DefaultAuthentication_OnAuthenticate de um DefaultAuthenticationModule.

public delegate void DefaultAuthenticationEventHandler(System::Object ^ sender, DefaultAuthenticationEventArgs ^ e);
public delegate void DefaultAuthenticationEventHandler(object sender, DefaultAuthenticationEventArgs e);
type DefaultAuthenticationEventHandler = delegate of obj * DefaultAuthenticationEventArgs -> unit
Public Delegate Sub DefaultAuthenticationEventHandler(sender As Object, e As DefaultAuthenticationEventArgs)

Parâmetros

sender
Object

A fonte do evento.

e
DefaultAuthenticationEventArgs

Um DefaultAuthenticationEventArgs que contém os dados do evento.

Exemplos

O exemplo de código a seguir usa o evento DefaultAuthentication_OnAuthenticate para testar se a User propriedade do atual HttpContext é null. Se a propriedade for null, o exemplo define a User propriedade do atual HttpContext como um GenericPrincipal objeto , em que o IdentityGenericPrincipal do objeto é um GenericIdentity com um Name valor de "padrão".

Observação

O evento DefaultAuthentication_OnAuthenticate é gerado antes do AuthorizeRequest evento. Como resultado, se você definir a User propriedade do atual HttpContext como uma identidade personalizada, isso poderá afetar o comportamento do aplicativo. Por exemplo, se você estiver usando a FormsAuthentication classe e estiver garantindo que apenas usuários autenticados tenham acesso ao seu site, usando a authorization seção e especificando <deny users="?" />, este exemplo fará com que o deny elemento seja ignorado, pois o usuário terá um nome, que é "padrão". Em vez disso, você especificaria <deny users="default" /> para garantir que apenas usuários autenticados possam acessar seu site.

public void DefaultAuthentication_OnAuthenticate(object sender,
                                                 DefaultAuthenticationEventArgs args)
{
  if (args.Context.User == null)
    args.Context.User = 
      new System.Security.Principal.GenericPrincipal(
        new System.Security.Principal.GenericIdentity("default"),
        new String[0]);
}
Public Sub DefaultAuthentication_OnAuthenticate(sender As Object, _
                                                args As DefaultAuthenticationEventArgs)
  If args.Context.User Is Nothing Then
    args.Context.User = _
      new System.Security.Principal.GenericPrincipal( _
        new System.Security.Principal.GenericIdentity("default"), _
        new String(0) {})
  End If
End Sub

Comentários

O DefaultAuthenticationEventHandler delegado é definido para o Authenticate evento da DefaultAuthenticationModule classe . Você pode acessar o Authenticate evento da DefaultAuthenticationModule classe especificando uma sub-rotina chamada DefaultAuthentication_OnAuthenticate no arquivo Global.asax para seu aplicativo ASP.NET. O Authenticate evento é gerado após o AuthenticateRequest evento e é usado para garantir que a User propriedade do atual HttpContext seja preenchida com um IPrincipal objeto .

Você pode usar a Context propriedade do DefaultAuthenticationEventArgs objeto fornecido para o evento DefaultAuthentication_OnAuthenticate para definir a User propriedade do atual HttpContext como um objeto personalizado IPrincipal . Se você não especificar um valor para a User propriedade do HttpContext fornecido durante o evento DefaultAuthentication_OnAuthenticate , definirá DefaultAuthenticationModule a User propriedade do HttpContext como um GenericPrincipal objeto que não contém informações do usuário.

O evento DefaultAuthentication_OnAuthenticate é gerado após o AuthenticateRequest evento e antes do AuthorizeRequest evento. Se você tiver uma authorization seção que depende do nome de usuário para negar ou permitir o acesso ao seu aplicativo, modificar a User propriedade do atual HttpContext poderá afetar o comportamento do aplicativo. Verifique se o nome de usuário definido durante o evento DefaultAuthentication_OnAuthenticate é considerado quando você especifica a authorization seção em sua configuração.

Métodos de Extensão

GetMethodInfo(Delegate)

Obtém um objeto que representa o método representado pelo delegado especificado.

Aplica-se a