2014-12-27 4 views
0

내가 유지 관리하는 세 개의 웹 사이트간에 교차 응용 프로그램 SSO를 시도하고 있습니다. 그 중 두 개는 .NET 4.0에서 실행 중이며 다른 한 개는 2.0 미만에서 실행 중입니다. 메인 사이트는 4.0이며 나머지 4.0 및 2.0 사이트는 메인 아래에서 운영되는 아이들입니다. 도메인이 위의 올바른 그래서, 그것이 가리키는, 지금은 사이트 내 로컬 상자를 실행 :세션 상태의 Asp.Net 인증?

<machineKey decryption="AES" validation="SHA1" decryptionKey="<decryptkey>" validationKey="<validationkey>"/> 
<authentication mode="Forms"> 
    <forms name=".MyAuthenticationTicket" domain=".MyDomain-Org" loginUrl="/Login.aspx" path="/" enableCrossAppRedirects="true" protection="All" timeout="43200" cookieless="UseCookies" /> 
</authentication> 

가 명확하게하려면 : 4.0 및 2.0 사이트에 대한 두 web.configs는 다음과 같이 인증 설정을 - 아닙니다.

문제는 두 사이트 중 하나에 로그인 할 수 있지만 .MyAuthenticationTicket은 2.0 사이트가 아닌 4.0 사이트에 로그인 할 때만 만들어집니다. 내가 로그인하면 티켓이 생성되지 않습니다. 그러나 나는 그것에 로그인 할 때 ASP.NET_SessionId 쿠키가 만들어지고 삭제할 때 2.0 사이트에서 로그 아웃된다는 것을 발견했습니다. 그럼에도 불구하고 나는 아직도 내 사이트에 대해 SSO를 달성하지 못했습니다.

여기 ... 내가 뭘 잘못하고 있니? 누구든지 아이디어가 있습니까? 여기에 놓친 부분이 있습니까?

+0

포럼 사이트와 달리 "감사"또는 "모든 도움을 주심"또는 [so]의 서명을 사용하지 않습니다. "[안녕하세요, '고마워,'태그 라인 및 인사말을 게시물에서 삭제해야합니까?] (http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be 참조) -removed-from-posts) –

+0

세션과 인증은 서로 아무 관련이 없습니다. 세션 쿠키를 삭제하면 코드에서 잘못한 것을하지 않는 한 사이트에서 로그 아웃하면 안됩니다. –

+0

글쎄, , 그것은 "내 응용 프로그램"이지만 내 코드는 아닙니다. 문제의 응용 프로그램은 Screwturn 위키이고 세션 쿠키를 삭제하면 실제로 로그 아웃됩니다. – EDanaII

답변

0

티켓이 여러 버전에서 호환되도록하려면 4.0 응용 프로그램에서 폼 인증 티켓의 호환 버전을 설정해야합니다.

<forms ... ticketCompatibilityMode="Framework20" .../> 
+0

고마워,하지만 그 속임수를하지 않았다. 필자는 2.0 응용 프로그램에 로그인 할 때 인증 티켓이 생성되지 않는다는 사실에 우려하고 있습니다. 두 양식 태그가 동일하게 설정되어 있다고 가정합니다. – EDanaII