세션 쿠키를 사용하여 사용자를 로그온 상태로 유지하는 웹 응용 프로그램이 있습니다. 사용자가 로그온하면 GUID가 생성되어 데이터베이스의 사용자 레코드와 연결됩니다. GUID는 쿠키에 저장되므로 각 페이지가로드 될 때 읽을 수 있고 데이터베이스 항목과 비교하여 확인할 수 있습니다.세션 쿠키가 세션 중간에 사라질 수있는 원인은 무엇입니까?
쿠키를 설정하는 코드는 매우 간단합니다.
Response.Cookies("UserSession")("ID") = vsSessionCookie
Response.Cookies("UserSession").path = "/"
시스템이 수년간 사용 중이더라도 새로운 클라이언트가 오류가 발생했다고 불평하기 시작했습니다. 쿠키를 포함하여 오류가 발생할 때 오류에 대한 정보를 기록 할 때 세션 쿠키가 더 이상 존재하지 않는다는 것을 알았습니다. 코드를 살펴보면 세션 쿠키가 이동하면 응용 프로그램 오류가 발생한다는 것을 알 수 있습니다.
응용 프로그램에서 사용하는 만료 날짜가 설정된 영구 쿠키가 유지된다는 점에 유의하십시오.
나는이 문제를 좀 더 정상적으로 처리해야한다는 것을 알고 있지만, 내가 당황스러워하는 문제는 세션 쿠키가 사라질 수 있다는 것입니다. 이는 사용자가 시스템을 사용할 때 임의로 발생한다고 주장하기 때문에 일정 기간 동안 비활성 상태 인 사용자의 경우는 아닙니다. 불행히도 그들은 더 구체적인 것은 아니지만 한 가지 경우에 나는 그들이 시스템에서 보고서를 실행 한 후에 일어난 것을 발견합니다. 이 보고서는 새 브라우저 창 (Window.Open을 사용하여 JavaScript에서 열림)에 표시되므로이 창을 닫으면 원래 창에서 세션 쿠키가 사라집니다.
시스템 (슬프게도)은 IE에서만 작동하지만이 동작을 일으킬 수있는 설정을 찾을 수 없으며 많은 다른 클라이언트에서 행복하게 작동합니다.
이 동작이 발생할 수있는 설정이 있습니까? 왜 일부 클라이언트에서는 작동하지만 다른 클라이언트에서는 작동하지 않아야합니까?
어쩌면 그것은 창을 닫는 것과 관련이 없으며 다른 프로세스는 세션 중간에 세션 쿠키를 지우고 있지만 무엇을해야합니까?
많은 질문 .... 죄송 합니다만, 누군가가 상황에 대한 경험이 있다면, 많은 도움이 될 것입니다!
웹 시스템은 ASP.Net로 작성되었습니다. 클라이언트도 똑같은 고통을 겪고있는 클래식 ASP로 작성된 시스템이 있기 때문에 웹 시스템 자체가 잘못되었다고 생각하지 않습니다.
내가 직접 접촉이없는 그 사람은 현재 알고있는 것 같지 않습니다! 클라이언트의 설정에 대한 더 많은 정보를 찾자 마자 그 게시물을 업데이트 할 것입니다. –