DefaultAuthenticationEventArgs(HttpContext) Construtor
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.
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.