Pergunta

Eu estou tentando usar forms.signout mas às vezes ele não sessão do utilizador e ele ainda pode navegates através do site.

Como posso resolver isso? Eu também configurado web.config autenticação de formulários, mas ainda não está funcionando.

Eu estou usando FormsAuthentication para autenticate um usuário passar ele de login.

Graças !!

Foi útil?

Solução

Eu não sei qual é a causa, mas algumas coisas que você pode considerar / tente

  • são eles realmente capaz de continuar a visitar as páginas geradas pelo servidor ou são apenas de volta para versões em cache localmente indo? O que acontece quando eles causam um postback que tem código para verificar se eles são autenticados é que isso funciona ou ele falhar? Eu acho que o mais tarde que significa que eles são assinados fora, mas a visualização das versões em cache da página logado caso em que você quer para instruir o cliente não para armazenar em cache as páginas usando para instâncias:

    Response.Cache.SetExpires (DateTime.UtcNow.AddMinutes (-1)); Response.Cache.SetCacheability (HttpCacheability.NoCache); Response.Cache.SetNoStore ();

  • Você pode tentar manualmente definir o cookie para ser vencido, mas este é um hack

    FormsAuthentication.SignOut (); Context.Response.Cookies.Item (FormsAuthentication.FormsCookieName) .Expires = Date.Now; Response.Redirect ( "~ / Somewhere.aspx");

Outras dicas

O usuário tem o domínio (ou um domínio pai) em seus sites confiáveis ??ou sites da intranet? Eu correr em alguns problemas recentemente onde um usuário é autenticado, mas anônimo em circunstâncias onde isso é verdade. No meu caso, também pode ser que um site pai era, ao mesmo tempo, configurado para permitir autenticação integrada do Windows. Eu removi uma vez removido isso, mas não parece ajudar o problema. Eu ainda não ter reiniciado IIS para ver se isso teria um efeito. Eu já recorreram a verificação tanto que o usuário é autenticado e não-anônimo para garantir que as partes apropriadas da visão são prestados. Isto é realmente mais rigorosa, embora o meu código de login deve evitar ter um login anônimo.

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