www.domain.com
에 사이트를 설정하면 사이트에서 사용자를 인증하고 쿠키에 자격 증명을 유지할 수 있습니다.다른 하위 도메인에서 인증 (모두는 아님)
경우에 따라 사용자는 다른 하위 도메인의 다른 서버에 설정된 처리기에 액세스합니다. handlers.domain.com
지금까지 액세스 제어까지에 대한 내 솔루션 handlers.domain.com
에 사용되는 모든 URL이에 GUID 특정 있다고했다 사용자. 다른 사이트의 핸들러는 guid 소유자의 신원을 가정합니다. 이것은 물론 좋은 보안 관행이 아닙니다.
내가 대체 솔루션에 대해 생각했다 : handlers.domain.com
에 대한 모든 링크는 실제로 다음이 직접으로 액세스 된 것을 확실히 알 수 handlers.domain.com
에 URL을 각인 암호화 된 시간으로 리디렉션됩니다 www.domain.com
에 리디렉터 스크립트에 대한 링크 될 것입니다 인증 된 리다이렉션은 www.domain.com
입니다. 이 솔루션은 GET 시나리오에서 제대로 작동하지만 POST 데이터를 예상하는 처리기로 실패합니다. (업로드 한 파일은 최대 업로드)
누구든지 더 좋은 솔루션을 생각하거나 내 솔루션에 대한 통찰력이 있습니까?
(이 경우에는 내가 ASP.NET을 사용하고 있지만,이 솔루션은 아마 플랫폼 불가지론 될 것입니다, 그래서 다양한 웹 플랫폼이 태그 것)감사합니다!
첫 번째 하위 도메인에서만 세션을 설정합니다. 아마도 이것은 순수한 ASP.NET 문제입니다. POST 요청으로 sessionId를 게시하고 다른 도메인의 세션에 "가입"할 수 있습니다. (중앙 DB 세션 관리를 사용합니다.) 이것이 가능할 수 있는지 확신하지 못합니다. 그러나 ASP.NET에서 완료 – Variant
기본 세션 모듈을 재정의해야 할 수도 있지만 가능할 수도 있습니다. – jdc
세션은 단순히 내 대답에서 광범위한 용어로 사용되었습니다. 예를 들어 데이터베이스에 해당 플래그를 배치 한 다음 사용되는 "세션 모듈"유형에 관계없이 다른 서버의 데이터베이스에서 해당 플래그를 쿼리 할 수 있습니다.데이터 서버 측만 전달하여 요청이 유효한지 확인하십시오. 암호화를 사용하는 경우 서버 측 비밀 키를 공유하게됩니다. 그러나 암호화를 사용하면 자신이하는 일과 비밀 키가 변조되거나 분실 된 경우 어떻게 행동해야 하는지를 알아야합니다. "세션"(두 서버간에 공유 스토리지)을 사용하면 각 요청에 대해 하나의 "비밀"을 갖게됩니다. – hakre