2011-12-29 3 views
1

이것은 일종의 멍청한 질문 일지 모르지만 Google을 확인하고 조회수가 없습니다. 우리는 여러 Rails 앱을 동일하게 보이도록 호스트하고 싶습니다. 우리는 모든 응용 프로그램이 동일한 모양과 느낌을 가지기를 원하고 모든 응용 프로그램이 동일한 사인 온 데이터베이스를 사용하도록합니다.웹 서비스를 통한 레일 인증

Theming 우리는 단지 사이트 테마를 보석에 넣고 각 응용 프로그램의 github 저장소에서 해당 보석을 요구함으로써 달성 할 수 있다고 생각합니다. 그러나 auth는 더 까다 롭습니다.

사이트의 다른 부분 (매장, 채팅 포럼 등)별로 다른 앱을 만들지 않아도 "무료"로 제공 할 수 있음을 알고 있습니다. 레일스 엔진이 전부라면, 우리는 기본적으로 네임 스페이스가 지정된 경로를 사용하여 같은 애플리케이션에 드롭 할 수 있으며 인증을 수행하는 단일 플러그인을 사용할 수 있습니다.

그러나 기술적으로 가능하다면 여러 가지 이유로 이러한 개별 앱을 보관하고 싶습니다. 번호 하나의 이유는 확장 성입니다. 이것이 호스팅 사이트가 될 것이기 때문에 채팅 포럼을 시작하지 않고 매장 (예 : 휴일 세일 러시를 처리하기 위해)을 추가로 가동 할 수있는 유연성을 원합니다. 또한, 서로 얽혀 있지 않은 코드 부분을 완전히 분리 할 수 ​​있기를 원합니다.

이상적으로 데이터베이스는 분리되어있어 ("db에있는 부엌 싱크대를 비롯한 모든 것을 넣으십시오"),하지만 크로스 앱을 수행하는 "저렴한"방법 하나를 알고 있습니다. auth는 동일한 플러그인 (예 : Devise)을 사용하고 동일한 DB를 가리키는 것입니다.

그래서이 방법은 웹 서비스 호출을 통해 인증하는 것입니다. 이 선행 기술입니다 - 모든 사람이 인증을 공유 할 수 있도록 "그냥 작동합니다"라고하는 사람이 있나요? 아니면 이런 식으로 물건을 만들려고 고통의 세계로 들어가고 있습니까?

미리 감사드립니다.

답변

0

당신은에 설명 방식에 단일 로그온을 할 수있는 :

http://blog.joshsoftware.com/2010/12/16/multiple-applications-with-devise-omniauth-and-single-sign-on/

의 OAuth 및 유증과 접근 방식에 대한 단일 로그온은 몇 가지 단점이있다. 내가 가진 주된 문제는 여러 개의 앱에서 타임 아웃 시간을 연장 할 수 없다는 것입니다.

+0

감사합니다. 그것은 좋은 생각처럼 보이지만 코드는 여전히 아주 원시적입니다. 확실하게 보안만큼 중요한 "푸시 버튼 및 이동"상태가 아닙니다. 우리는 여러 개의 앱이 실제로 올바른 방법인지 확인하기 위해 앱 아키텍처를 다시 생각하고 있습니다. –