2010-04-23 3 views
0

asp.net 2.0 사이트 (사이트 1이라고 부름)에서 iframe에 ASP2 인 다른 사이트 (site2)를로드하는 작업을하고 있습니다. 우리 팀이 개발 한 .net 사이트. 사이트 1에 로그온하면 장면 2가 로그인되어 있으므로 iframe 탭을 클릭하면 로그인 한 사용자와 함께 사이트 2가 표시됩니다 (사용자가 두 번 로그인하지 못하도록).Asp.Net 2 통합 사이트 프로그래밍 방식으로 두 번째 사이트를 로그 아웃하는 방법

내가 가진 문제는 사용자가 사이트 1에서 로그 아웃 한 다음 FormsAuthentication.SignOut을 수행하고 세션 변수를 정리하는 정리 방법을 호출하지만 현재 사용자가 사이트 2에서 사용자를 호출 할 때 클린업이 호출되지 않는다는 것입니다. 문제는 사용자가 브라우저 내에서 사이트 2를 열면 원치 않는 웹 사이트 2가 열리는 것입니다. 아무도 나 에게이 최선의 접근 방식에 관해서는 어떤 지침을 줄 수 있습니까 ?? 한 가지 가능한 접근 방식은 로그 아웃 버튼을 클릭 할 때 사이트 2의 사용자 정의 페이지에 대한 호출을 수행하여 로그 아웃을 수행 할 수 있다는 것입니다. 이 코드와 데

HttpWebRequest request; 
    request = ((HttpWebRequest)(WebRequest.Create("www.mywebsite.com/Site2Logout.aspx"))); 
    request.Method = "POST"; 
HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; 
Cookie authenticationCookie = new Cookie(
FormsAuthentication.FormsCookieName, 
          cookie.Value, 
       cookie.Path, 
       HttpContext.Current.Request.Url.Authority); 
request .CookieContainer = new CookieContainer(); 
request .CookieContainer.Add(authenticationCookie); 
response.GetResponse(); 

문제 아래 코드는 내가 사이트 2에 디버그를 실행하고 검사 할 때 사용자들이 내가 브라우저를 열면 때문에 이해하고 찾아 해달라고하는 수없는 인증되어 있는지 확인하는 것입니다 사이트 2에 나는 아직도 인증을 받았다. 어떤 생각, 취할 다른 방향 등 ??? 더 많은 정보가 필요하거나 내가 dosent이 의미가 있다고 말한 것이 있다면 알려주십시오.

감사합니다.

답변

1

양면에 동일한 쿠키를 사용하는 것은 어떻습니까? 사이트가 동일한 멤버십 데이터베이스에 로그인하면 다음 링크는 로그인 및 정리를위한 동기화 코드가없는 간단한 솔루션을 제공합니다.

http://www.codeproject.com/KB/aspnet/SingleSignon.aspx

그냥 폼 인증 (동일한 도메인 이름이 같은) snyc 같은 (고정) machineKey를 사용한다.

관련 문제