Pergunta

Ao trabalhar com ASP.Net Autenticação de Formulários me deparei com o cookie .ASPXAUTH. Eu tenho algumas perguntas:

  • O que é o propósito deste biscoito?
  • O que é a localização deste biscoito?
Foi útil?

Solução

bolinho

O ASPXAUTH é usado para determinar se um usuário é autenticado.

Quanto à localização do biscoito, que depende do seu browser. Se você estiver usando o Firefox, você pode visualizar o cookie clicando em Ferramentas -> Opções -> Privacidade. Em seguida, desloque-se para o domínio e expandi-lo para ver o cookie e seu valor. O valor é criptografada usando a chave do computador (localizado no arquivo Machine ou web.config do servidor) para olhar para o cookie no cliente realmente não vai lhe fornecer qualquer informação. Você pode decifrar / visualizar o valor no lado do servidor usando:

HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];//.ASPXAUTH
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);

onde authTicket tem esses campos:

enter descrição da imagem aqui

A declaração "ASPXAUTH é basicamente usado para manter ASP.NET estado da sessão" está incorreta. ASP.NET emite um cookie completamente diferente, chamado ASP.NET_SessionId, para acompanhar o estado da sessão.

Outras dicas

Na verdade o cookie .ASPXAUTH não lhe dizer com precisão quando o usuário está realmente autenticado. Quando o usuário fizer fora do aplicativo, o cookie .ASPXAUTH é removido do navegador. No entanto, se você voltar para o local dentro de um curto período de tempo (com tempo limite de cookie de forma auth), e editar o novo cookie de ASP.NET_SessionId com o seguinte:

  • mudança de campo "nome" de "ASP.NET_SessionId" para ".ASPXAUTH"
  • mudança "valor" de 24 de char sessionID a antiga cadeia de autenticação 448 caractere

Depois de atualizar você será capaz de assumir a identidade do usuário autenticado sem tecnicamente re-autenticar novamente. (Novamente supondo que você fazer isso dentro do tempo limite specificied armazenado dentro do .ASPXAUTH criptografados auth string)

Um bom blogue pós explica o problema em mais detalhes. Uma solução possível é para acoplar o .ASPXAUTH com a sessão ASP.

Se as interações do usuário com o URL de login HTML têm permitido a TSWPPserver para estabelecer a identidade do usuário, o servidor remoto deve gerar um cookie que identifica o usuário e permite que a autenticação do servidor. O conteúdo do cookie deve ser assinado e criptografado. A implementação específica desse cookie incluindo os de assinatura e criptografia algoritmos depende da implementação do servidor de TSWPP, porque somente o servidor é necessária para analisar o conteúdo do cookie. Se os implementos servidor o cookie, em seguida, o cookie deve ser devolvido em um HTTP carga útil com um Content-Type de "application / x MSTS-webfeed-login".

http://msdn.microsoft.com/en-us/library/ ee920427.aspx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top