Pergunta

RESUMO:. Ao navegar um site ASP.NET usando o Windows Explorer, janelas pop-up não "emprestar" o cookie de sessão da janela pai

Detalhes:

Eu estou trabalhando em um site ASP.NET (.NET 2.0). Eu uso FormsAuthentication. É um requisito para usar cookies para lidar com a sessão.

Em uma página eu tenho um botão. Quando o usuário clica nele, uma janela pop-up é aberto. O pop-up exibe uma página aspx que usa variáveis ??de sessão, previamente definido a partir da janela do navegador pai. Tenho vindo a testar o site usando o IE (6, 7, 8) e Firefox 2.0. Em todos estes navegadores, a janela de pop-up tem acesso à mesma sessão como a janela do navegador pai e tudo funciona ok.

Agora tenho um bug levantada pelo cliente, afirmando que a janela popup exibirá um erro. Olhando para o arquivo de log, eu posso ver que é um NullReferenceException no momento a página de pop-up tenta acessar as variáveis ??de sessão. Falando com o cliente, ele disse que abriu o site principal em Windows Explorer !!!

Eu consegui recriar o problema em uma máquina de teste e viu que o pop-up está usando uma nova sessão.

A máquina deve ter Win XP uma IE6 instalado! Com IE7 o site funciona ok.

Foi útil?

Solução

A minha suspeita é de que, quando aberto a partir do Windows Explorer (não que eu entender completamente o que você quer dizer com isso), o cookie de sessão que está sendo enviado de volta não é armazenada em qualquer lugar e, portanto, não está disponível para a janela pop-up para incluir com seu pedido. Eu não vejo como você pode obter em torno deste. Não é possível dizer ao cliente que este meio de acessar o aplicativo não é suportado?

Outras dicas

Eu vi o mesmo problema com o IE 8, se os problemas não ocorrem no Firefox, Google Chrome ou IE 6. No meu caso eu posso ver que a sessão está realmente trabalhando bu a autenticação termina redirecionar o usuário para a página de login novamente para que ele faça o Login ...

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