2012-11-10 1 views
0

내 조직은 다른 도메인 (예 : foo.organization.com, bar.organization.com 등)을 사용하여 여러 하위 사이트를 만들 수 있기를 원합니다. 바람직하게 사용자는 한 사이트에 로그인 한 다음 다른 사이트에 로그인하면됩니다. 이러한 하위 도메인 사이트 (일부 ASP.NET MVC, 아마도 Django, 아마도 Ruby 등)를 구현하는 데 사용되는 서버 측 플랫폼이 다를 수 있으므로이 솔루션은 크로스 플랫폼이어야하는 것이 좋습니다. 이 하위 도메인 중 하나는 기본 데이터베이스에 대한 API를 호스팅하며 클라이언트 측 코드에서 API를 사용하는 것과 마찬가지로 서버 간 인증을 지원해야합니다.동일한 도메인의 여러 사이트에서 싱글 사인온 (sign on)

어떤 경로를 제안해야합니까?

감사합니다, 다니엘

답변

0

매우 재미있는! 나는 그것이 wamp 또는 램프 서버가하는 것과 같지 않을 것이라고 생각합니다. Localhost/each_sites_name/index.php 이름 공간 아래에 하나의 Lamp-server에서 실행중인 44 개의 웹 사이트가 있습니다. 잠수함을하기 위해서는 하나의 site_name을 만들고 다른 하나를 그 아래에 배치해야합니다.

mainsite 사이트 1 사이트 2 site3 site4 등

+0

이러한 사이트는 다른 프레임 워크를 사용하고 있기 때문에 다른 웹 서버를 사용하고있을 수 있으므로 다른 컴퓨터에서 작동하는 솔루션을 선호합니다. – dabs

0

당신이 찾고있는 것은 단일 사인온이다. 설명 할 필요성을 해결할 수있는 몇 가지 좋은 솔루션이 있습니다. SAML, CAS, OpenID 등을 연구 할 수 있습니다.

저는 개인적으로 RubyCAS을 권장합니다 - 이는 Ruby에서 Jasig's CAS protocol의 구현입니다. 둘 다 잘 작동하지만 설정하는 것이 쉬웠다.

웹 기반 응용 프로그램 (심지어 웹 기반 응용 프로그램이 아닌 응용 프로그램)도 인증을 위임 할 수 있습니다. 이는 Google 앱 인증 방법과 유사하게 작동합니다. 방문중인 특정 사이트에서 세션을 열지 않은 경우 CAS 서버의 로그인 양식으로 리디렉션 된 다음 인증 할 수 있으면 티켓과 함께 다시 전송됩니다. 백엔드에서 티켓이 유효한지 확인하기 위해 티켓이 확인됩니다.

다양한 플랫폼에서 많은 CAS 클라이언트가 있습니다. 개인적으로 rubycas clientphpCAS을 보증 할 수 있습니다. some for Django처럼 보이고 기존 Apache 용 앱의 경우 mod_auth_cas을 사용할 수 있습니다. 기본적으로 CAS 기반 HTTP 기본 인증입니다.

+0

유망한 소리. 기본적으로 뷰를 렌더링하는 JavaScript 코드가 포함 된 정적 HTML 페이지로 구성되며 데이터 읽기/쓰기 API와 상호 작용하는 응용 프로그램에서 사용할 수 있는지 알고 싶습니까? 나는. 사용자가 해당 애플리케이션에 로그인 할 수 있고 로그인 정보 (예 : 티켓/액세스 쿠키)가 API에 전달 될 수 있습니까? – dabs

+0

아파치 모듈 mod_auth_cas를 사용하고자하는 예제처럼 들린다. 앱이있는 하위 디렉토리를 보호하고 인증되지 않은 사용자가 해당 디렉토리에 액세스하려고하면 CAS 서버 로그인 페이지로 전송됩니다. 코드를 수정하지 않아도됩니다. – dearlbry

관련 문제