2010-04-11 4 views
3

작업은 서버의 웹 API 호출을 통해 얻은 session_id를 사용하여 원격 서버에서 로그인 양식을 무시하는 것입니다. 따라서 사용자는 두 번 로그인 할 필요가 없습니다.IE가 iframe에서 세션을 시작하지 않습니까?

다른 도메인에 쿠키를 설정할 수있는 방법이 없으므로 우리가 한 것은 원격 서버에 작은 파일을 넣어 숨겨진 iframe에서 암호화 된 session_id를 전달하고 원격 앱의 적절한 세션을 시작한 다음 다른 iframe에로드합니다.

이 방법은 FF/Chrome에서는 잘 작동하지만 IE에서는 작동하지 않습니다. iframe의 src 특성에서 URL의 자체 작성 원격 인증 스크립트를 IE의 주소 표시 줄로 복사하고 거기에서로드하면 세션이 예상대로 생성됩니다. . 그러나 어떤 이유로 그것은 iframe에서 동일한 작업을 수행하기를 원하지 않습니다.

아무도 단서가 있습니까? 왜 이런 일이 발생하고 있습니까?

+0

iframe에 넣는 대신 해당 서비스에 대한 링크를 만들지 않는 이유는 무엇입니까? 귀하의 접근 방식은 피싱처럼 보입니다. –

+1

우리 고객은 그런 식으로 그것을 원합니다. 다른 앱의 백엔드와 어떤 종류의 통합. 별도의 창에서 원격 응용 프로그램을 열 링크 또는 버튼을 두는 것은 옵션으로 간주되지 않습니다. (그렇지 않으면 훨씬 간단합니다.) phishy는 무엇인가? 인증 된 웹 API에서 얻은 유효한 session_id가 있습니다. 요구. – jayarjo

답변

0

우리가 IE를 위해 한 일은 브라우저 전체를 인증 스크립트로 리디렉션 한 다음 다시 브라우저로 리디렉션하는 것입니다. 어떻게 든 문제를 해결합니다.

더 좋은 해결책이있는 사람이 있습니까?

1

방금 ​​같은 문제가 발생하여 iframe을 제공하는 서버의 시간을 iframe이있는 서버의 시간으로 설정하여 해결했습니다.

관련 문제