2012-04-12 2 views
16

Symfony2에서 security concept을 기본적으로 이해했습니다. 이제 다중 도메인 웹 사이트에 싱글 사인온 기능을 구현하려고합니다.Symfony2 싱글 사인온 (symfony2 single sign-on) 구현

을 SSO 개념 자체는 오히려 간단하다 :

  • 도메인 A가 쿠키 도메인입니다; 사람들이이 도메인에 로그인 할 수 있습니다.
  • 도메인 B에 로그인하면 사용자가 One-time password이 요청 된 도메인 A로 리디렉션됩니다. 이 암호를 얻으려면 도메인 A에서 세션이 필요합니다.
  • OTP를 얻은 후 사용자는 OTP를 도메인 A의 세션과 일치시키는 도메인 B로 돌아갑니다.
  • 일치하면 세션이 도메인 B에 대해 생성됩니다. 이 지점 이후의 각 후속 요청에 대한 도메인 A의 세션.

도메인 A에 대한 방화벽/인증 구현은 평소와 같이 수행 할 수 있습니다. 나의 이해, 나는 다음을 수행해야합니다

  • 이 방화벽에 대한 리스너를 만듭니다 도메인 B
  • 에 대한 방화벽을 설정, 어떻게 든 도메인 A에 대한 사용자 (보다 구체적인 : OTP 비밀번호를 요청하는 URI를) 리디렉션 것을
  • OTP를 처리하고

그러나 내가 할 수있는 도메인에서 세션에 대한 세션 유효성을 확인 다른 청취자를 작성 도메인 B

  • 에 대한 세션을 생성하는 authentication provider 만들기 번들에서이 작업을 수행하는 방법에 대한 팁을 실제로 사용하십시오. 아무도 나를 도와 줄 수 없다면 위대 할 것입니다.

    또한 OTP를 구현하는 방법이나 두 세션을 비교하는 방법에 대해 아직 확실하지 않으며 둘 다 유효한지 확인해야합니다. 그러면 나중에이 워크 플로가 먼저 작동해야합니다.

  • +0

    이 좋은 번들 같은 소리 :-) – richsage

    +1

    @ richsage 내 대답보기 :) –

    답변