2011-12-13 2 views
2

양식 인증을 기반으로 작동하는 기존 응용 프로그램이 있습니다. 내 응용 프로그램에서 선택적 단일 사인온을 사용 가능하게하고 싶습니다. 나는 사용자를 인증하기 위해 STS를 사용할 추가 로그인 페이지 (login_sso.aspx)를 만들고 사용자가 성공적으로 인증 한 경우 애플리케이션의 나머지 부분이 변경없이 그대로 작동하는 양식 인증 쿠키를 생성합니다. 내 관객 URI에서 나는 인증 모드 = "없음"을 지킬 필요가 이것에 대한 login_sso.aspx 페이지WIF 단일 로그온 및 양식 인증

<audienceUris> 
<add value="https://www.myapp.com/login_sso.aspx" /> 
</audienceUris> 

를 사용하지만 내 원래의 로그인 페이지 못해 일을 할 것이다 나는 모드 = "양식"인증을 유지하는 경우 내 login_sso.aspx는 STS로 리디렉션되지 않습니다. 인증 모드 = "없음"으로 설정 한 경우에만 작동합니다.

이 문제가 해결 되었습니까? 어디에서 내 인증 모드를 유지할 수 = "양식"및 여전히 STS (login_sso.aspx 경우에만)

답변

2

거기에 많은 솔루션이 있습니다. 고려해야 할 한 가지는 "선택적 SSO"가 의미하는 바입니다. 앱이 이제 자신의 사용자 이름/비밀번호 외에도 타사 제공 업체 (고객의 STS 또는 LiveID 또는 Google ID)의 ID를 수락한다는 것을 의미하는 경우. 다음 깨끗한 가장 우아한 방법은이다 :

  1. 주장 앱을 사용 (이 당신이 양식을 사용하는 경우 가능성이 코드에 ZERO 영향이 인증 사용 오늘날 것 )
  2. 이 (자신을)은 STS 소개를하는 것입니다 "Federation Provider"(앱과 모든 타사 ID 제공자 사이에 다리 역할을한다는 의미) ID 제공자 자체는 (지금하고있는 것처럼 사용자 인증).

1은 비교적 쉽습니다. # 2의 경우 STS를 취득해야합니다. 호스팅하는 위치에 따라 ADFS (v2)와 같은 기성품 STS를 사용할 수도 있고 맞춤형 IDS (CodePlex에서 IdentityServer)를 사용해야 할 수도 있습니다.

덜 우아하고 덜 미래적인 솔루션입니다. (this post에 설명 된 것과 같은) WIF에 대한 프로그래밍 방식의 조작이 필요할 것입니다.

동의어, '잠재 고객 URI'는 앱의 URL이 아닙니다. 이는 STS가 발급 한 토큰의 소비자를 식별하기위한 것입니다.