현재 Ruby on Rails 시스템이 있으며 GWT로 이식 할 계획입니다. 이렇게하기 전에 GWT가 현재 콘텐츠를 사용하고 표시 할 수 있음을 보여주기 위해 GWT에 사이트의 일부가 작성된 개념 증명이 필요합니다. 다음과 같이 시스템의 GWT 부에서의 데이터의 흐름은 다음하이브리드 Ruby/GWT 시스템에서 세션을 어떻게 관리합니까?
- 클라이언트
- 서버 RPC 호출을 수신 GWT 서버로 RPC 호출을 전송 한 후 레일 시스템과 동등한 Ajax 요청을 만든다
- 서버는 Ajax 요청의 결과에서 자바 객체가 다시 클라이언트
에 전달 지금 실행 해요 문제는 두 시스템에서 관리 사용자 세션 데이터입니다 생성합니다. 우리는 오직 하나의 Tomcat 인스턴스 만 가지고 있으며, 그것은 자체 유형의 세션을 가지고 있습니다. 그리고 Ruby 시스템은 ActiveRecordStore를 사용하여 세션 데이터를 데이터베이스에 저장합니다.
문제는 Tomcat 시스템이 Ruby 시스템과 대화 할 때 GWT 클라이언트가 로그인 요청을하면 GWT 시스템에서 마지막으로 로그인 한 사용자가 Rails 시스템에서 수행중인 모든 나가는 Ajax 요청을 갖는다는 것이다 마치 Tomcat 시스템이 Rails에 대한 단일 클라이언트처럼 보이기 때문에 현재 사용자 인 것처럼 보입니다.
어쨌든, 사용자가 Tomcat 시스템과 세션을 시작하면 Ruby 시스템은 이것을 인식하고 이에 상응하는 세션을 가지게되어 Tomcat 서버가 단일 클라이언트 임에도 불구하고 , Rails 시스템은 많은 다른 사용자들이 그 하나의 클라이언트로부터 그것과 통신한다는 사실을 알고있다.
관련 질문 : http://stackoverflow.com/questions/2270215/gwt-rpc-cookie-authentication 및 http://stackoverflow.com/questions/2053960/gwt-and-storing-a-session-key –
"사용자가 Tomcat 시스템과 세션을 시작"한다는 것은 무엇을 의미합니까? 그는 Tomcat 또는 사용자 정의 솔루션의 일부 인증 메소드를 사용하여 로그인합니까? 어느 쪽이든, 세션 키는 쿠키 (예 : JSESSIONID)에 저장되어있을 가능성이 높으며 RoR 측에 전달해야합니다. –
나는 당신의 단계 2와 관련이 있습니다. 사용자 지정 RPC 직렬화 처리를 수행해야합니까? GWT 서버 측에서 "Ajax 요청을 Rails 시스템에 적용"하기 위해 사용한 기본 메커니즘은 무엇입니까? 나는 특히 GWT-Rails 인터페이스에서 인터 트러스트되어있다. 감사합니다. – cellepo