2010-01-19 4 views
4

jquery를 사용하여 javasctip 모달에 몇 가지 물건을 표시하는 응용 프로그램이 있습니다. 필요합니다. 특정 흐름을 위해 로그인하는 사용자; 하지만 우리는 사용자를 위해 모달을 떠나지 않습니다.SSO 서버를 가리키는 iframe이있는 교차 도메인

그래서 우리는 현재 무엇을하고 있습니다. 사용자 흐름 동안

  1. 사용자가 로그인 할 필요가있는 경우, 우리는 현재 사업부를 숨기고 로그인 DIV
  2. 우리의 SSO 서버와 소스 링크와 숨겨진 iframe을 유지을 보여줍니다.
  3. 사용자가 양식을 제출하면 숨겨진 iframe을 SSO 서버에 제출합니다.
  4. 사용자가 로그인하면 우리는 흐름을 계속 진행합니다.

사용자 로그인에 오류가있는 경우 문제가 발생합니다. 페이지의 숨겨진 iframe에서 오류 코드를 가져와야합니다. 하지만 iframe 내부의 콘텐츠는 제어하지 않으며 SSO 서버에 의해 반환됩니다. 우리는 크로스 도메인이기 때문에 그것을 읽는 법을 모른다.

통찰력이 있으십니까?

답변

0

SSO 파티에서 실행되는 클라이언트 측 스크립트가 없으면 iframe이 필요하지 않습니다. 보안을 위해 iframe을 사용하는 것은 AJAX 메소드가 단일 출처 정책을 무시하고 SSL 암호화를 우회하는 것을 방지하는 것입니다. 대답은 iframe을 제거하는 것입니다. 서버 측에서 SSO 데이터를 요청하고 페이지가 작성되면 서버에서 클라이언트로 보냅니다.

+2

SSO 서버는 사용자가 이미 로그인하지 않았 으면 쿠키를 설정하거나 기존 쿠키를 읽어야합니다. 내 도메인에서 다른 도메인의 쿠키를 읽을 수 없으므로 SSO 서버 만 있으면 사용자의 로그인 상태를 직접 확인해야합니다. iframe에 SSO 서버가 있어야 사용자 자격 증명을 직접 제출하여 응답으로 쿠키를 설정할 수 있어야합니다. 그게 우리의 경우 CAS가 작동하는 방법입니다. – Priyank

+0

다른 클라이언트 응용 프로그램에서 POST 요청을 제출하여 자격 증명을 게시하는 원격 SSO CAS 서버와 비슷한 설정을하고 있습니다. 내가 확신하지 못하는 것은 iFrames를 사용하여 클라이언트 애플리케이션에서 설정된 자격 증명을 읽고 효과적으로 로컬에서 사용자를 인증하는 방법입니다. 잠시 지났지 만 설정이 어떻게 작동했는지에 대한 세부 정보를 공유 할 수 있습니까? –

0

jsonp 프로토콜을 사용하지 않으면 x 도메인 제한을 벗어날 수 없습니다.

사용자가 단순히 페이지의 오류 응답을 볼 수 있습니까? 왜 iframe을 숨겨 놨어?

iframe 기술을 사용하여 다른 시스템에 자동 로그인하려고합니까?

대부분의 브라우저에서 작동 할 수도 있지만 일부 브라우저는 i- 프레임에서 쿠키를 전달하지 않습니다.이 접근 방식은 훌륭한 잠재 고객 솔루션이 아닙니다.

제가 명확히 할 수 있는지 알려주세요.

0

JSONP를 사용하여 웹 사이트에서 차단 한 기능을 콜백 한 다음 iframe에서 javacript 함수 인 "parent.callback()"을 호출하면됩니다.

관련 문제