2012-12-07 2 views
2

asp.net에서 SqlMembershipProvider를 사용하고 있으며 iframe이나 프레임을 사용할 때까지 제대로 작동합니다.SqlMembershipProvider가 Internet Explorer에서만 프레임 또는 iframe으로 로그인 할 수 없습니다.

내가 로그인 할 때 아무런 문제가 없지만 고객 사이트에서 우리 웹 사이트를 감싸고 로그인하려고하면 모든 필드가 지워지고 원래 사이트로 돌아옵니다.

IE 8과 9의 사이트에서 쉽게 복제 할 수 있지만 firefox 또는 chrome에는 문제가 없습니다.

다른 방법으로이 작업을 수행 할 수 있습니까?

====== 편집 ====== 우리의 고객이 자신의 웹 사이트에서 우리의 '포털'을 호출하고의 한 부분 인 것처럼 완벽하게 그것으로 우리의 포털을 통합하고자하는

그들의 사이트.

사이트에서 포털을 감싸는 iframe으로이 작업을 수행 할 수 있다고 생각했지만 로그인으로 작업 할 때 행운이 없으므로 크로스 도메인 쿠키 문제 (?)를 읽었습니다.

희망이 좀 ...

+0

도메인 간 문제입니다. 교차 도메인 호출을 허용하도록 iframe 내부 사이트의 헤더를 설정해야합니다. iframe으로 전달되는 쿠키와 동일한 문제가있었습니다. 시간이 있으면 나중에 다른 사람이이 질문에 답하지 않은 경우 나중에 코드를 살펴볼 것입니다. – Silvermind

+0

만약 내가 당신을 많이 사랑합니다 :) – ErocM

+3

나는 '사용자 정의''컨트롤러'를 가지고 있으며 그것의 오버 라이드'Initialize'에'Response.AddHeader ("P3P", "CP = \"IDC DSP COR ADM "Response."를 초기화 할 것이기 때문에''Base.Initialize (requestContext);'의 바로 뒤에 CNT \ "");''직후에 PSA PSD를 삽입해야합니다. 내가 진짜로 알아 내지 못했기 때문에 나는 진짜 대답으로 그것을 게시 할 수 없다. 그러므로 무슨 일이 일어나고 있는지 모른다. 다른 시간에 들여다 볼 수도 있습니다.) – Silvermind

답변

7

당신은 FormsAuthentication.SetAuthCookie를 사용하여 암호화 된 방식으로 URL의 초기 자격 증명을 전달할 수

이 질문은 강력하게 도움이 될 것입니다. 다른 브로커 ar

Cookie blocked/not saved in IFRAME in Internet Explorer

크롬, 파이어 폭스, 오페라 (처음 경고 함)로 테스트했지만 문제없이 완벽하게 작동하지만 IE에서는 내가 제공 한 질문을 볼 필요가 있습니다.

+0

현상금을받을 가치가 있습니까 !! –

+1

그거야! 좋은 설명 주셔서 감사합니다! – ErocM

+0

고맙습니다. 짧은 시간에 다시 얻을 수 있기를 바랍니다. :) –

6

Internet Explorer won't send cookies through IFRAMES 당신이 P3P header를 지정하지 않는 것들을 명확히하는 데 도움이됩니다.

이 일을하는 가장 쉬운 방법은, 당신의 Web.config에서 사용자 지정 HTTP 헤더를 표시한다 :이 물건 코드에서 엉망이없는

<system.webServer> 
    <httpProtocol> 
     <customHeaders> 
     <add name="P3P" value='CP="CAO PSA OUR"'/> 

이 방법.

이 HTTP 헤더는 Compact P3P이며, 이전과 동일한 상황 이었기 때문에 트릭을해야합니다.

Safari 브라우저가 여기에 표시된 것처럼 IFRAME 콘텐츠와 상호 작용하지 않는 한 사파리가 쿠키를 보내지 않으므로 사파리 브라우저가 조금 까다 롭습니다. 두렵습니다. Iframe, cross-domain cookies, p3p policy, and safari with error: A required anti-forgery token was not supplied or was invalid. 아마도 당신의 경우에는 큰 문제가되지 않을 것입니다.

건배.

+0

ie9에서 작동하지 않았습니다! –

+0

이것을 시도하십시오 : http://stackoverflow.com/questions/6283720/p3p-and-php-session-problem-with-iframes-in-internet-explorer-9 – vtortola

0

DNS에 하위 도메인을 설치하고 IIS에 호스트 헤더를 추가하는 옵션 인 경우 하위 도메인이 사이트를 가리 키도록 설정하여 도메인 간 보안을 피할 수 있습니다.

[top] example.com @ customerIP => [iframe] portal.example.com @ yourIP 

도메인이 코드에서이 자바 스크립트를 넣어 공유되어 있는지 확인합니다 :

document.domain = "example.com" 
관련 문제