0

우리는 루트 도메인 (www.domain.com)에서 인증을 위해 ASP.NET 회원을 사용하고 사용자를 하위 도메인 (sub.domain.com)으로 리디렉션합니다). 사용자가 www에서 로그인하면 하위 도메인의 로그인 페이지로 리다이렉트되어 로그인 할 때 표시됩니다.asp.net 회원 양식은 쿠키가 하위 도메인에 로그인하지 않은 것을 나타냅니다.

web.config의 컴퓨터 키와 양식 요소가 모두 동일합니다. 경우에

우리가 요청에 실패

폼 인증을받을 로그인합니다. 이유 : 제공된 티켓이 유효하지 않습니다.

그것은 MS 보안 업데이트입니다.

나를 위해 일한 무슨 UPDATE는 security update available

답변

1

.domain.com가되도록 forms 요소의 domain 속성을 설정하는 것입니다. 이렇게하면 사용자는 www.domain.com에서 로그인 한 다음 sub.domain.com에 액세스 할 때 로그인 할 수 있습니다. 내 호스트 파일을 해킹하여이를 테스트했으며 정상적으로 작동합니다.

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login.aspx" timeout="2880" domain=".domain.com" /> 
</authentication> 
+0

이상한 점은 UAT 환경에서는 잘 작동하지만 제작에는 적합하지 않습니다. – Steven

+0

@Steven 쿠키가 실제로 subdomain.domain.com (피들러를 사용하여 확인할 수 있음)에 제출되고 machineKey 등의 구성이 두 서버에서 모두 동일하면 프록시 또는 방화벽이 서버 경로가 쿠키를 mangling합니다. subdomain.domain.com 서버에서 인증 쿠키의 원시 값을 읽는 테스트 페이지를 실행하여 클라이언트와 IIS간에 필터링되지 않도록하고 값이 www가 설정 한 것과 동일하게 만들 수 있습니다. .domain.com 서버. –

+0

나는 질문을 업데이트했다. 버틀러가 그랬던 것처럼 보입니다. :) – Steven

관련 문제