2011-01-27 4 views
1

폼 인증을 사용하는 여러 하위 도메인이 있습니다. 사용자가 로그인하면 다른 하위 도메인으로 이동할 수 있습니다.폼 인증을 사용하면 다른 하위 도메인으로 리디렉션을 처리하는 방법

여기 내 문제가 있습니다. reporting.example.com/reporting.aspx로 이동하면 login.example.com/login.aspx로 리디렉션됩니다. 내 자격 증명을 입력하면 로그인 .example.com/reporting.aspx로 리디렉션됩니다. 존재하지 않습니다.

나는 해결 방법이 있지만 깨끗한 방법이 있는지 알고 싶습니다. 현재 내가하는 것은 reporting.example.com의 forms 요소의 loginUrl 속성이 login.example.com/login.aspx?domain=reporting.example.com이되도록 설정되어 있습니다.

그런 다음 login.aspx 코드에서 쿠키를 인증하고 설정 한 후 도메인 변수가 URL에 전달되었는지 확인합니다. 그렇다면 returnUrl 앞에 도메인을 추가하고 간단한 리디렉션을 수행합니다.

그것은 작동하지만 klugey를 느낍니다. 어떤 아이디어?

+1

이렇게하는 것이 가장 좋은 방법입니다. 그렇지 않으면 유일한 다른 실질적인 옵션은 리퍼러와 함께 작업하는 것이며 약 10 % 신뢰도입니다. –

답변

0

ReturnURL에 전체 URL이 포함되어 있습니까? 그렇다면 예상대로 작동해야합니다.

web.config에서 EnableCrossAppRedirects이 true로 설정되어 있는지 확인하십시오.

+0

불행히도 returnUrl은 호출 응용 프로그램의 홈 디렉토리에 대한 상대 경로입니다. 내 예에서 returnUrl은 /reporting.aspx입니다. – wcm

+0

이 코드는 전체 URL을 RedirectURL에 넣는 것처럼 보입니다. http : //weblogs.asp.net/dfindley/archive/2007/02/06/fix-returnurl-when-sharing-forms-authentication-with-multiple -web-applications.aspx – TonyB

관련 문제