DefaultAuthenticationEventArgs(HttpContext) Construtor

Definição

Inicializa uma nova instância da classe DefaultAuthenticationEventArgs.

public:
 DefaultAuthenticationEventArgs(System::Web::HttpContext ^ context);
public DefaultAuthenticationEventArgs (System.Web.HttpContext context);
new System.Web.Security.DefaultAuthenticationEventArgs : System.Web.HttpContext -> System.Web.Security.DefaultAuthenticationEventArgs
Public Sub New (context As HttpContext)

Parâmetros

context
HttpContext

O contexto para o 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 definirá a User propriedade do atual HttpContext como um GenericPrincipal objeto em que a Identity propriedade do GenericPrincipal objeto é um GenericIdentity objeto com um Name valor de propriedade de "default".

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="?" />, fará com que o deny elemento neste exemplo 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 DefaultAuthenticationModule objeto constrói um DefaultAuthenticationEventArgs objeto usando o atual HttpContext e o passa para o evento DefaultAuthentication_OnAuthenticate .

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 referenciado pela Context propriedade , 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.

Aplica-se a

Confira também