2012-09-18 2 views
0

I'v이 설정은 현재 웹 사이트가 백엔드제거 하위 도메인-쿠키

다소 SSOish 시스템 admin.site.domain.tld에 beeing는와 site.domain.tld에서 실행되는 경우, 수있다 실행 있어요 sso.admin.site.domain.tld에 설치됩니다. 사실이 사이트를 방문하면 사용자가 인증되고 해당 쿠키가 설정되고 사용자는 admin.site.domain.tld로 다시 이동합니다.

나는 도트 (주) .admin.site.domain.tld 발행되는 쿠키 쿠키를 얻을 수 있습니다이

setcookie('bid', $bid, 0, '/', 'admin.site.domain.tld'); 

같은 쿠키를 설정하고있다.

이 로그인 정보는 정상적으로 작동하지만 사용자가 먼저 admin.site.domain.tld에 어떤 이유로 든 로그인 한 다음 sso [...]를 사용하여 로그인하려고 결정하면 문제가 발생합니다. 관리자 페이지 자체적으로 쿠키를 설정하지만 이번에는 admin.site.domain.tld에 대해 발급됩니다. 처음에는 점이 표시되지 않습니다.

그래서 기본적으로 SSO-로그인이 시간을 사용 후, 사용자가 .admin.site.domain.tld

있기 때문에 두 개의 서로 다른 쿠키, admin.site.domain.tld 하나, 하나를 갖는 끝 관리 페이지는 페이지 자체에 직접 설정된 쿠키를 선호하며 도트 쿠키는 무시되고 로그인에 실패합니다.

기본적으로 가장 좋은 방법은 이미 존재하는 쿠키를 읽거나 수정하거나 삭제하는 것입니다.하지만 이것은 sso-subdomain에서 불가능한 것 같습니다.

"이유 때문에"우리는 admin-subdomain에 sso-subdomain의 항목을 직접 배치 할 수 없습니다.

누구나 여기 아이디어가있는 사람이라면 어떻게 든 할 수있는 "나쁜"admin.- 쿠키를 제거 할 수 있습니까?

답변

0

다른 쿠키 이름을 사용할 수 있습니까? "cookie1"을 읽고 쓰는 하위 도메인이 하나 있고 "cookie2"를 읽고 쓰는 다른 하위 도메인이 있습니다. 그게 당신의 문제를 해결합니까?

+0

슬프게도 그건 내 문제를 해결하지 못합니다. admin의 코드에서 아무 것도 변경할 수 없기 때문에 cookie2 검사를 구현할 수 없습니다. 하지만 시도해 주셔서 감사합니다! – Martin

+0

그게 너무 안타까운데, 다른 도메인을 가져 와서 별명을 바꿀 수 있니? 모든 코드와 백엔드는 모두 같지만 브라우저는 완전히 새로운 도메인이라고 생각합니다. – Landon

+0

글쎄, 우리는 실제로 당신이 제안한 것과 매우 유사한 새로운 것을 시도했다. 우리는 모든 요청을 실제 사이트로 전달하고 SSO 스크립트가로드 될 수있게 해주는 "htaccess-Proxy"를 설치했다. 이제이 특정 하위 도메인의 쿠키를 저장, 삭제 및 덮어 쓸 수 있습니다. 매력처럼 작동 :) – Martin

관련 문제