Noções sobre a permissão de autenticação de formulários e o Cookie

Traduções de Artigos Traduções de Artigos
Artigo: 910443 - Ver produtos para os quais este artigo se aplica.
Coluna de voz de suporte do ASP.NET

Noções sobre a permissão de autenticação de formulários e o Cookie

Para personalizar esta coluna às suas necessidades, pretendemos convidá-lo para submeter as suas ideias sobre tópicos que interessam problemas que pretende ver e corrigida no futuro artigos da Base de dados de conhecimento e de colunas de voz de suporte. Pode submeter ideias e comentários utilizando a Pedir formulário. Existe também uma hiperligação para o formulário na parte inferior desta coluna.
Expandir tudo | Reduzir tudo

Nesta página

Introdução

Bem-vindo à coluna de voz de suporte do Microsoft ASP.NET! Estou Nilay B. Shah com a equipa de suporte de programação do ASP.NET. Posso tenha estado a trabalhar com suporte para ASP.NET durante mais de anos de um ponto e meio. Autenticação por formulários é realmente uma funcionalidade de autenticação fresco. Este artigo aborda alguns problemas que os utilizadores localizados confusos com a autenticação de formulários, tais como a relação entre a permissão de autenticação de formulários e o cookie de autenticação de formulários e as respectivas definições relevantes. Gostaria de agradecer Jerry Orman, responsável técnico para a equipa de suporte do ASP.NET, para a sua ajuda incrível!

Por vezes, as pessoas questionar sobre formulários "permissões de autenticação" e "cookies" porque têm muitas semelhanças. Posso ter deparar-se a perguntas como estas: qualquer pessoa explicar a diferença entre a data de expiração de cookie e a expiração? Quando o cookie expira, o utilizador será redireccionado para a página de início de sessão. O que acontece quando o "ticket" expira? Ele também tornará o cookie expirar? O que SlidingUpdate realmente actualizar?

Posso incidirá sobre estes dois aspectos da autenticação de formulários neste artigo para responder às seguintes perguntas:
  • O que é um cookie de permissão e a autenticação por formulários de autenticação de formulários? Como sejam se relacionam?
  • Qual é a função de uma permissão de autenticação por formulários?
  • São de expiração de cookie e expirationrelated de permissão?
  • Como efectua deslizante de expiração de trabalho, no contexto da permissão de autenticação por formulários e o cookie de autenticação de formulários?
  • Onde pode ser definida a propriedade de tempo limite da permissão de autenticação de formulários e formulários authenticationcookie?
  • Cenário do problema: A autenticação de formulários pode tempo outbefore o valor do atributo de tempo limite é definido no configurationfile

O que é a permissão de autenticação de formulários e o cookie de autenticação de formulários? Como arethey relacionados?

Cookie de autenticação de formulários é mais nada senão o contentor para permissão de autenticação de formulários. A permissão é passada como o valor do cookie de autenticação de formulários com cada pedido e é utilizada pela autenticação de formulários, no servidor, para identificar um utilizador autenticado.

No entanto, se a Microsoft optar por utilizar a autenticação de formulários sem cookies, o "ticket" será transmitido no URL num formato encriptado. Autenticação de formulários sem cookies é utilizada porque, por vezes, os browsers cliente bloquear cookies. Esta funcionalidade é introduzida no Microsoft .NET Framework 2.0.

Para mais informações, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/System.Web.Configuration.formsauthenticationconfiguration.cookieless.aspx

Qual é a função de uma autorização informa a autenticação?

A permissão de autenticação de formulários é utilizada para indicar a aplicação do ASP.NET quem é o utilizador. Assim, a permissão é bloco modular de segurança de autenticação de formulários.

A permissão está encriptada e assinado utilizando o <machineKey></machineKey> o elemento de configuração do ficheiro de Machine. config do servidor. O ASP.NET 2.0 utiliza o decryptionKey e o novo atributo de desencriptação da <machineKey></machineKey> permissões de autenticação de formulários do elemento para encriptar. O atributo de desencriptação permite-lhe especificar o algoritmo de encriptação a utilizar. ASP.NET 1.1 e 1.0 utilizar a encriptação 3DES, que não é configurável. Adulteração com o valor de autorização é determinada por uma falha para desencriptar o "ticket" no servidor. Como resultado, o utilizador será redireccionado para a página de início de sessão.

Se a aplicação é implementada numa Web farm, tem de se certificar de que os ficheiros de configuração em cada servidor partilham o mesmo valor para os atributos validationKey e decryptionKey no <machineKey></machineKey> código, que são utilizados para criação de algoritmos hash e a desencriptação do bilhete, respectivamente. Deve fazê-lo porque não pode garantir o servidor que processará os pedidos sucessivos. Para mais informações sobre encriptação de FormsAuthenticationTicket e considerações sobre a implementação Web farm, visite o seguinte Web site da MSDN:
http://msdn2.microsoft.com/en-us/library/ms998288.aspx
É possível encontrar um percurso através dos métodos para gerar manualmente chaves nos seguintes artigos da Microsoft Knowledge Base:
312906 A criação de chaves utilizando o Visual c# .NET para utilização na autenticação de formulários
313091 A criação de chaves utilizando o Visual Basic .NET para utilização na autenticação de formulários
Permissões de autenticação de formulários podem ser geradas manualmente utilizando a classe FormsAuthenticationTicket . Para mais informações, visite o seguinte Web site da MSDN:
http://msdn2.microsoft.com/en-us/library/System.Web.Security.formsauthenticationticket.aspx

Como são expiração de cookie e expiração relacionados?

Em caso de cookie não persistente, se a permissão tiver expirada, cookie também irá expirar e o utilizador será redireccionado para a página de início de sessão. No outro lado, se a permissão estiver marcada como persistente, sempre que o cookie está armazenado na caixa de cliente, browsers podem utilizar o mesmo cookie de autenticação para iniciar sessão para o Web site a qualquer momento. No entanto, podemos utilizar o método de FormsAuthentication.SignOut para eliminar persistentes ou cookies não persistente explicitamente.

Para mais informações sobre o método de FormsAuthentication.SignOut , visite o seguinte Web site da MSDN:
http://msdn2.microsoft.com/en-us/library/System.Web.Security.formsauthentication.Signout.aspx
Com a autenticação de formulários sem cookies, se o browser estiver fechado, perde-se a permissão e será gerada uma nova permissão na próxima solicitação.

Como efectua deslizante de expiração de trabalho, na permissão de autenticação de offorms de contexto e cookies de autenticação de formulários?

Expiração variável funciona exactamente da mesma forma!

Diga-na observar um exemplo: se a página de início de sessão é acedida às 17:00 00:00:00 PM, deve expirar a 5:10:00: 00:00 PM se o atributo timeout é 10. o e o atributo slidingExpiration estiver definida como TRUE. Agora, se qualquer página Web é consultada novamente às 5:05 00:00:00 PM, os cookies e o período de tempo limite da permissão serão repostos para 5:15:00: 00:00 PM.

Nota Se a página Web for acedida antes de decorrido o tempo de expiração metade, a hora de expiração da permissão não será reposta. Exemplo de primeiro plano, se qualquer página Web for acedida novamente às 5:04 00:00:00 PM, não serão possível repor os cookies e o período de tempo limite da permissão.

Para mais informações, visite o seguinte Web site da MSDN:
http://msdn2.microsoft.com/en-us/library/1d3t3c61 (vs.71).aspx

Onde pode ser definido o valor de tempo limite da permissão de autenticação de formulários de cookieand de autenticação de formulários?

A única definição que pode efectuar consta no ficheiro Web. config ou o ficheiro Machine. config, a <forms></forms> tag. Esta alteração irá determinar o período de tempo limite de autenticação de formulários no contexto de uma autorização ou o cookie a menos que o convite for criado manualmente.

<!--
forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
Para mais informações, visite o seguinte Web site da MSDN:
http://msdn2.microsoft.com/en-us/library/1d3t3c61.aspx
Se o convite for criado manualmente utilizando a classe de FormsAuthenticationTicket , o limite de tempo pode ser definido através do atributo de expiração . Este valor substituirá o valor de atributo de tempo limite especificado nos ficheiros de configuração.

Para mais informações sobre membros de FormsAuthenticationTicket , visite o seguinte Web site da MSDN:
http://msdn2.microsoft.com/en-us/library/System.Web.Security.formsauthenticationticket_members.aspx

Cenário do problema: A autenticação de formulários poderão o tempo limite antes do valor do atributo de tempo de espera definido no ficheiro de configuração

Se a permissão de autenticação de formulários for criada manualmente, a propriedade de tempo limite do bilhete substituirá o valor que é definido no ficheiro de configuração. Por conseguinte, se esse valor for inferior ao valor no ficheiro de configuração, os formulários de permissão de autenticação expirar antes da configuração de tempo limite de ficheiros atributo valor e vice-versa. Por exemplo, suponha que o <forms> </forms>o atributo de tempo limite é definido para 30 no ficheiro Web. config e o valor de expiração do bilhete é definido para 20 minutos. Neste caso, a permissão de autenticação de formulários expirará após 20 minutos e o utilizador terá de iniciar sessão novamente depois disso.

Hiperligações relacionadas

910439 Resolução de problemas de autenticação de formulários
891032 Resolução de problemas do ASP.NET
301240 Como implementar a autenticação baseada em formulários de aplicação do ASP.NET utilizando o c# .NET
308157 Como implementar a autenticação baseada em formulários de aplicação do ASP.NET utilizando o Visual Basic .NET
Espero que encontrar estas informações úteis para atenuar alguns da confusão envolvida com permissão de autenticação de formulários do ASP.NET e o cookie. Não se esqueça de que as colunas de voz de suporte são por si! Como sempre, sensação gratuita submeter ideias sobre os tópicos que pretende no futuro corrigida colunas ou na Microsoft Knowledge Base utilizando o Pedir formulário.

Propriedades

Artigo: 910443 - Última revisão: 21 de setembro de 2013 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Palavras-chave: 
kbhowto kbasp kbmt KB910443 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 910443

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com