2013-01-24 1 views
1

시나리오 : 회사 익스트라 넷의 iframe을 통해 여러 웹 사이트를 표시해야합니다. 엑스트라 넷은 SSL과 Active Directory 기반 Windows 인증을 사용합니다. 각 iframe의 웹 사이트에는 인증 된 사용자가 필요하지만 사용자에게 수동으로 로그온하라는 요청을해서는 안됩니다. 각 웹 사이트에 대한 인증 메커니즘은 아직 결정되지 않았습니다.Windows Identity Foundation을 사용하여 iframe의 익스트라 넷 웹 사이트 인증

문제점 : iframe에서 자동 로그온을 수행하는 방법을 알아야합니다. 광고의 특정 사용자 정보를 제공해야 할 필요가 있지만 iframe의 웹 사이트에 내 목적에 맞는 특정 인증 메커니즘을 사용하도록 요구할 수 있습니다.

인증 문제를 해결하기 위해 Windows Identity Foundation을 사용하는 것이 좋습니다. 나는 두 가지 해결책을 고려하고 있지만 WIF 초보자로서 어떤 것이 더 낫다는 것이 확실하다.

해결책 1 : AD 클레임을 사용하여 사용자 지정 보안 토큰 서비스를 만듭니다. 사용자가 내 iframe 페이지 중 하나를 탐색하면 페이지가 프로그래밍 방식으로 STS에서 토큰을 가져오고 어떻게 든 토큰을 iframe에 추가합니다. 그물에 샘플을 보면 나는 STS를 만들고 프로그래밍 방식으로 토큰을 얻는 방법을 알고 있다고 믿는다. 하지만 iframe과 함께 사용하려면 어떻게해야합니까? iframe URL (http://website/default.aspx?token=xxx)에 삽입하면 안전하지 않은 것처럼 보입니다.

해결 방법 2 : 동일한 STS를 만듭니다. iframe의 웹 사이트는 STS를 인증 공급자로 사용하도록 구성됩니다. 사용자가 내 iframe 페이지 중 하나를 탐색하면 iframe에서 웹 사이트가 자동으로 STS에 토큰을 쿼리하고 사용자를 기록합니다. iframe에서 웹 파트가 토큰을 얻는 방법은 무엇입니까? 요청 컨텍스트, 또는 어떻게 작동합니까? 그리고 iframe 내부에서이 작업을 수행 할 수 있습니까? iframe에서 허용되지 않는 쿠키에 대해 읽은 것을 기억합니까?

위의 답변 또는 다른 해결책이 가장 환영합니다.

답변

2

해결책 # 2로 이동하십시오. iframe (이제부터는 신뢰 당사자 인 RP)의 페이지가 STS를 인증 공급자로 사용하도록 구성된 경우 처음로드 될 때 브라우저 (iframe)를 STS로 리디렉션합니다. STS는 사용자가 이미 익스트라 넷에 로그온 한 단일 로그온 세션을 가지고 있으므로 WIF에 의해 가로 채어 클라이언트에 양식으로 배달되는 HTTP POST로 신뢰 당사자에게 배달하는 세션 토큰을 발급한다는 것을 알고 있습니다 (기본적으로 사용자 세션 토큰 핸들러를 사용하여 재정의 할 수 있습니다). 일부 브라우저는 처음에는 iframe 내에서 쿠키를 허용하지 않지만 의존 당사자의 응답에 p3p 헤더를 보내면 허용 될 수 있습니다.

+0

감사합니다. Andreas. 따라서 STS를 만들고, 엑스트라 넷과 RP 사이트가 STS를 인증 공급자로 사용하도록 구성해야합니다. p3p 헤더를 보내려면 RP 사이트에 뭔가를해야합니까, 아니면 브라우저 구성입니까? –

+0

절차를 설명하는 링크를 찾았습니다 : [link] (http://support.microsoft.com/kb/324013) 도움을 주신 Andreas에게 감사드립니다. –