DefaultAuthenticationEventHandler Delegar
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.
Representa o método que trata 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 origem do evento.
A DefaultAuthenticationEventArgs que contém os dados 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, a amostra define a User propriedade da corrente HttpContext para um GenericPrincipal objeto, onde o Identity do GenericPrincipal objeto é a GenericIdentity com um Name valor de "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="?" />, este exemplo fará com que o deny elemento 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 DefaultAuthenticationEventHandler delegado é definido para o Authenticate evento da DefaultAuthenticationModule turma. Pode aceder ao evento Authenticate da classe DefaultAuthenticationModule especificando uma sub-rotina chamada DefaultAuthentication_OnAuthenticate no ficheiro Global.asax da sua aplicação ASP.NET. O Authenticate evento é levantado após o AuthenticateRequest evento e é usado para garantir que a User propriedade da corrente HttpContext é preenchida com um IPrincipal objeto.
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 do HttpContext fornecido durante o evento de DefaultAuthentication_OnAuthenticate, a DefaultAuthenticationModule propriedade de HttpContext define User 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.
Métodos da Extensão
| Name | Description |
|---|---|
| GetMethodInfo(Delegate) |
Obtém um objeto que representa o método representado pelo delegado especificado. |