Fluxo de dados de segurança no ASP.NET
Você pode criar segurança em aplicativos ASP.NET de várias maneiras.Este tópico descreve o fluxo de dados de segurança para dois cenários comuns: representação e autenticação de formulários usando cookies.
Cenário 1: Representação
O cenário de representação se baseia na autenticação do Serviços de Informações da Internet (IIS) da Microsoft e na segurança de acesso a arquivos do Microsoft Windows para minimizar a programação que cuida da segurança no próprio aplicativo ASP.NET.O fluxo de dados é mostrado na ilustração a seguir.
Representação
A ilustração mostra a sequência de eventos a seguir:
Uma solicitação de um cliente de rede chega ao IIS.
O IIS autentica o cliente usando a segurança básica, digest ou integrada do Windows (NTLM ou Kerberos).
Se o cliente for autenticado, o IIS passa a solicitação autenticada para o ASP.NET.
O aplicativo ASP.NET representa o cliente solicitante usando o token de acesso passado pelo IIS, e ele depende de permissões de arquivo NTFS para conceder acesso aos recursos.O aplicativo ASP.NET precisa apenas verificar que a representação é definida como true no arquivo de configuração o ASP.NET; nenhum código de segurança do ASP.NET é necessário.
Se a representação não estiver ativada, o aplicativo será executado com a identidade do processo ASP.NET.Para Microsoft Windows 2000 Server e Windows XP Professional, a identidade padrão é uma conta local chamada ASPNET que é criada automaticamente quando o ASP.NET está instalado.Para Microsoft Windows Server 2003, a identidade padrão é a identidade do pool de aplicativos para o aplicativo do IIS (por padrão, a conta NETWORK SERVICE.)
Observação:
Se a representação não estiver ativada e você deseja restringir o acesso de um determinado usuário ou conjunto de usuários, como usuários autenticados usando autenticação por formulários, então você deve usar algum outro meio de autorização, como autorização por URL.Para obter mais informações sobre autorização por URL, consulte Autorização ASP.NET.
Para obter mais detalhes sobre o uso de representação em aplicativos ASP.NET, consulte ASP.NET Impersonation e Using IIS Authentication with ASP.NET Impersonation.
Se o acesso for concedido, o aplicativo ASP.NET retornará o recurso solicitado através do IIS.
Cenário 2 - Autenticação por Formulários
No cenário de autenticação de formulários, um aplicativo coleta credenciais como nome e senha diretamente do usuário e faz sua própria determinação sobre sua autenticidade.A autenticação do IIS não é usada pelo aplicativo, mas configurações de autenticação do IIS podem afetar a autenticação por formulários.Como regra, quando você usa autenticação de formulários, você habilita o acesso anônimo no IIS.Caso contrário, se os usuários não passam a autenticação do IIS, eles não alcançar seu aplicativo para fornecer um nome de usuário e uma senha para autenticação por formulários.
O fluxo de dados nesse cenário é mostrado na ilustração a seguir.
Autenticação de formulários
Esta ilustração mostra a sequência de eventos a seguir:
Um usuário gera uma solicitação para um recurso protegido.
O IIS recebe a solicitação e como o acesso anônimo do IIS está ativado, o IIS não executará nenhuma autenticação de usuário e a solicitação será passada para o aplicativo ASP.NET.
Como o modo de autenticação do ASP.NET é definido para formulários, o aplicativo ASP.NET examina a solicitação para uma permissão de autenticação de formulários (um cookie específico).Se não houver nenhuma permissão anexada à solicitação de autenticação, o ASP.NET redireciona a solicitação para a página de logon especificada no arquivo de configuração do aplicativo.
Na página de logon, o usuário insere as credenciais necessárias, geralmente um nome e senha.O código do aplicativo verifica as credenciais para confirmar sua autenticidade.Se as credenciais são autenticadas, o código do aplicativo anexa uma permissão de autenticação à resposta que representa as credenciais do usuário.(A senha não está incluída).Se a autenticação falhar, a resposta é retornada com uma mensagem acesso negado ou o formulário de logon é apresentado novamente.
A permissão de autenticação que é emitida está incluída nas solicitações ao aplicativo ASP.NET subsequentes.O ASP.NET verifica a validade da permissão usando uma verificação de autenticação de mensagem (MAC).
Se o usuário é autenticado, o ASP.NET verifica a autorização e pode permitir o acesso ao recurso originalmente solicitado, redirecionar a solicitação para alguma outra página ou redirecionar a solicitação para um módulo de autorização personalizados onde as credenciais são testadas para autorizar o acesso ao recurso protegido.Se a autorização falhar, o ASP.NET redireciona o usuário para a página de logon.
Se o usuário está autorizado, o acesso é concedido ao recurso protegido; ou o aplicativo pode requerer um teste adicional das credenciais antes de autorizar o acesso ao recurso protegido, o que depende do design do aplicativo.
Observação:
A autenticação por formulários e cerificação da autorização se aplicam somente ao recursos protegidos pelos elementos de configuração autenticação e autorização.O acesso a recursos do Windows protegidos usando listas de controle de acesso (ACLs) é verificado em relação a identidade do Windows atual do aplicativo ASP.NET.Para obter mais informações, consulte ASP.NET Impersonation.
Consulte também
Tarefas
Como: Implementar autenticação de formulários simples
Conceitos
Using IIS Authentication with ASP.NET Impersonation
Outros recursos
Gerenciando usuários usando Associação
Gerenciando Autorização Usando Funções