문제

동일한 세션을 공유하는 여러 서버에 레일 앱을 설치하고 싶습니다.동일한 서버 내에서 할 수는 있지만 다른 서버에서 공유할 수 있는지는 모르겠습니다.이미 해봤거나 어떻게 하는지 아시는 분 계시나요?

감사해요

도움이 되었습니까?

해결책

앱 설정 방법에 따라 ~할 수 있다 동일한 비밀번호를 사용하도록 앱을 설정하여 동일한 도메인(foo.domain, bar.domain, domain)에 있는 사이트의 쿠키를 쉽게 공유할 수 있습니다.http://www.russellquinn.com/2008/01/30/multiple-rails-applications/

이제 sdfsf.com, dsfsadfsdafdsaf.com 등과 같은 서로 다른 사이트가 있는 경우쿠키의 특성상 쿠키가 특정 도메인으로 제한되기 때문에 훨씬 더 많은 트릭을 수행해야 합니다.본질적으로 당신이 하려는 것은 크로스 사이트 스크립팅을 사용하여 세션을 하이재킹하는 대신 다른 세션에서 읽는 것입니다.

이 경우 동일한 쿠키 비밀 등을 사용하고 일부 교차 사이트 스크립팅을 조합하여 세션 정보를 수동으로 추출하고 각 사이트에서 다시 생성할 수 있습니다(또는 ActiveRecord 세션 {또는 NFS 세션 디렉터리}를 사용하는 경우 링크 기존 것과 동일).쉽지는 않지만 할 수 있습니다.

또는 (제가 이전에 했던) 간단한 방법은 로그인 페이지가 각 사이트의 특별히 제작된 로그인 페이지를 방문하도록 하여 앱 쿠키를 설정하고 다음 페이지로 이동하게 하는 것입니다.예쁘지 않아요.

다른 팁

사용 데이터베이스 세션 저장소.그 내용은 이렇습니다.

테이블을 생성하려면 콘솔에서 다음을 실행하세요.

rake db:sessions:create

Environment.rb에 다음 줄을 포함하세요.

config.action_controller.session_store = :active_record_store

데이터베이스 지원 세션을 사용해 보세요.

Rails 2.0에는 이제 모든 세션 데이터를 클라이언트 컴퓨터의 암호화된 쿠키에 저장하는 CookieStore가 있습니다.

http://izumi.plan99.net/blog/index.php/2007/11/25/rails-20-cookie-session-store-and-security/

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