DefaultAuthenticationEventHandler Delegar
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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. |