특정 이유 때문에 호스팅 서버와 이상하게 상호 작용하는 순간이 있습니다.쿠키가없는 HttpSession
응용 프로그램은 더 큰 포털을 통해 액세스 할 수 있으며 포털 디스플레이에서 캡슐화 할 수 있지만 포털이 가로 챌 수없는 AJAX 요청을 광범위하게 사용합니다. 이러한 요청은 호스팅 서버에 직접 이루어 지지만 문제가 발생합니다. 첫 번째 아약스 요청이 만들어
을 (그것에서받은 것보다 다른 서버에이를 보내는 것 같이 명백하게) Ajax 요청이와 함께 JSESSIONID 쿠키를 운반되지 않는 (응용 프로그램의 흐름에 약간의 방법)AJAX 호출이 상호 작용해야하는 세션을 찾는 좋은 방법이 있습니까? grails.views.enable.jsessionid를 true로 설정하려고했지만 브라우저가 쿠키를 허용하지 않는 경우에만 작동합니다.
세션 쿠키가 원점에서 포털을 통해 사용자에게 전달되지 않는다는 것이 그의 질문에서 비롯된 것 같습니다. 그가 메인 요청에 포털을 통해 다시 쿠키를 추가 할 수 없다면 이는 작동하지 않습니다. 포털이 근본적으로 바보 같은 프록시 인 경우, 이는 불행히도 놀라운 일은 아닙니다. – PlexQ
@PlexQ - 그렇습니다. 그래서 "쿠키"가 따옴표 안에 들어 있습니다. 그것은 일반적인 쿠키가 아니지만 하나처럼 작동합니다. 그것은 일련의 요청에 대해 어떤 세션이 사용되어야 하는지를 애플리케이션에 식별하는 대체 방법을 사용하는 나의 응답의 핵심입니다. 모든 경우에서, 그것은 여전히 동일한 개념이며, 다른 구현입니다. – cdeszaq
언급 된 '쿠키'가있는 솔루션을 찾으십시오. 세션 리스너를 구현하고 세션 ID를 캡처하고, 해당 세션 키 아래 servletContext에 필요한 최소 컨텍스트를 저장합니다.그런 다음 각 Ajax 요청에서 세션 키를 전달하고 servletContext에있는 세션에 대해 요청의 유효성을 검사합니다. 지금은 한 서버에서 작동하지만 여러 서버로 확장해야 할 때 좀 더 강력하게 재검토해야합니다. 나는 ehcache 복제가 내 친구가 될 수 있다고 생각한다. – kblair