DefaultAuthenticationEventArgs(HttpContext) Construtor

Definição

Inicializa uma nova instância da DefaultAuthenticationEventArgs classe.

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 do evento.

Exemplos

O seguinte exemplo de código usa o evento DefaultAuthentication_OnAuthenticate para testar se a User propriedade da corrente HttpContext é null. Se a propriedade for null, o exemplo define a User propriedade do corrente HttpContext para um GenericPrincipal objeto onde a Identity propriedade do GenericPrincipal objeto é um GenericIdentity objeto com valor Name de propriedade "default".

Note

O evento DefaultAuthentication_OnAuthenticate é levantado antes do AuthorizeRequest evento. Como resultado, se definir a User propriedade do atual HttpContext para uma identidade personalizada, isso pode afetar o comportamento da sua aplicação. Por exemplo, se estiver a usar a FormsAuthentication classe e estiver a garantir que apenas os utilizadores autenticados têm acesso ao seu site, ao usar a authorization secção e especificar <deny users="?" />, fará com que o deny elemento neste exemplo seja ignorado, pois o utilizador terá um nome, que é "default". Em vez disso, especificaria <deny users="default" /> garantir que apenas utilizadores autenticados possam aceder ao 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

Observações

O DefaultAuthenticationModule objeto constrói um DefaultAuthenticationEventArgs objeto usando a corrente HttpContext e passa-a para o evento DefaultAuthentication_OnAuthenticate .

Podes usar a Context propriedade do DefaultAuthenticationEventArgs objeto fornecida ao evento DefaultAuthentication_OnAuthenticate para definir a User propriedade da corrente HttpContext para um objeto personalizado IPrincipal . Se não especificar um valor para a User propriedade de referenciada HttpContext pela Context propriedade, a DefaultAuthenticationModule propriedade User define HttpContext para um GenericPrincipal objeto que não contém informação do utilizador.

O evento DefaultAuthentication_OnAuthenticate é elevado após o AuthenticateRequest evento e antes do evento AuthorizeRequest . Se tiver uma authorization secção que depende do nome de utilizador para negar ou permitir o acesso à sua aplicação, modificar a User propriedade da corrente HttpContext pode afetar o comportamento da sua aplicação. Certifique-se de que o nome de utilizador que definiu durante o evento de DefaultAuthentication_OnAuthenticate é considerado ao especificar a authorization secção na sua configuração.

Aplica-se a

Ver também