문제

요약 : Windows 탐색기를 사용하여 ASP.NET 웹 사이트를 탐색 할 때 팝업 Windows는 부모 창에서 세션 쿠키를 "빌리지"않습니다.

세부:

ASP.NET 웹 사이트 (.NET 2.0)에서 작업하고 있습니다. 나는 Formsauthentication을 사용합니다. 세션을 처리하기 위해 쿠키를 사용해야합니다.

페이지에는 버튼이 있습니다. 사용자가 클릭하면 팝업 창이 열립니다. 팝업에는 이전에 부모 브라우저 창에서 설정 한 세션 변수를 사용하는 ASPX 페이지가 표시됩니다. IE (6, 7, 8) 및 Firefox 2.0을 사용하여 웹 사이트를 테스트했습니다. 이 모든 브라우저에서 팝업 창은 상위 브라우저 창과 동일한 세션에 액세스 할 수 있으며 모든 것이 정상적으로 작동합니다.

이제 클라이언트가 제기 한 버그가있어 팝업 창에 오류가 표시됩니다. 로그 파일을 살펴보면 팝업 페이지가 세션 변수에 액세스하려고하는 순간 NullReferenceException임을 알 수 있습니다. 그는 고객과 이야기하면서 Windows Explorer에서 기본 웹 사이트를 열었다 고 말했다!

테스트 머신에서 문제를 재현했으며 팝업이 새로운 세션을 사용하고 있음을 알았습니다.

기계는 IE6을 설치해야합니다! IE7을 사용하면 웹 사이트가 작동합니다.

도움이 되었습니까?

해결책

여기서 의심스러운 것은 Windows Explorer에서 열렸을 때 (이 의미가 무엇을 의미하는지 완전히 이해하지 못했을 때), 다시 전송되는 세션 쿠키는 어디에도 저장되지 않으므로 팝업 창에 요청에 포함 할 수 없습니다. 나는 당신이 이것을 어떻게 둘러 볼 수 있는지 모르겠습니다. 이 응용 프로그램에 액세스하는 수단이 지원되지 않는다고 클라이언트에게 알릴 수 없습니까?

다른 팁

IE 8과 동일한 문제를 보았습니다. Firefox, Google Chrome 또는 IE 6에서는 문제가 발생하지 않습니다. 제 경우에는 세션이 실제로 BU가 작동하고 있음을 알 수 있습니다. 인증은 로그인 할 수 있도록 사용자를 로그인 페이지로 다시 리디렉션하는 것을 종료합니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top