개발 Q&A

제목 두 도메인( aa.com, bb.com) 세션 연동
글쓴이 e놀이터 작성시각 2012/05/16 11:13:32
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 32603   RSS
몇 번이고 검색하고 이래저래 적용해 본 후 답이 안나오ᅡ서 이렇게 글을 남깁니다.
서브 도메인간에서는 ( a.aa.com , b.aa.com ) cookie_domain 을 설정해 주면
세션이 서로 잘 연계가 도ᅵ는데, 도무지 타도메인간 ( aaa.com, bbb.com )
세션 연계는 잘 안도ᅵ는  것 같아 글을 남깁니다.

( 파이어폭스에서 글을 작성하니 이상하게 글이 적히네요;; )

좋은 방법이 있을지 ... 답변 부탁드립니다 ᄒᄒ
 다음글 프레임워크의 선택에 대해서 질문 드립니다. (2)
 이전글 DB네이밍 관련 질문입니다. (2)

댓글

e놀이터 / 2012/05/18 14:15:00 / 추천 0
 방법이 역시 없나 보군요 ㅜㅜ
변종원(웅파) / 2012/05/18 14:36:41 / 추천 0
글이 깨져서 답변을 못달고 있었습니다.

타 도메인간은 a에서 로그인하고 b의 로그인을 호출하여 b에도 자동 로그인 하는 방식을 씁니다.
sso를 도입하는 것도 방법인데 문제는 가격이 좀 됩니다. 오픈소스도 있기는 합니다.

구글에서 타 도메인간 쿠키 공유 또는 세션 공유로 검색하시면 많은 글들이 있습니다.
변종원(웅파) / 2012/05/18 14:41:42 / 추천 0
2008년 자료이긴 하지만 http://blog.naver.com/sd23w/80056928611 이 방식도 괜찮네요.
e놀이터 / 2012/05/18 16:17:39 / 추천 0
CI 에서 적용할 수 있는 방법이 있나 ... 궁금해서 질문을 올렸는데,
이 게시판으로 글이 이동되었네요 ^^;

답변 주셔서 감사드리구요...

아직 CI 쪽에서 해결이 안되어서 머리에 쥐가 ~ ~ ;;
변종원(웅파) / 2012/05/20 13:42:29 / 추천 0
타 도메인간 쿠키, 세션 공유는 php 소스나 프레임워크 단에서 쉽게 할 수 있는 일이 아닙니다.
iframe을 이용하여 중간 서버에서 처리를 하거나 아파치단에서 처리를 해야합니다. 

ci단에서 처리를 하시려면 DB세션을 A라는 데이터베이스에 저장을 하고 b와 c 사이트에서
A의 db세션을 사용하게 하면 되는데 세션관련 라이브러리를 그 부분에 맡게 고쳐야 합니다.
(많은 고민이 필요합니다. 하나의 아이디로 b, c 사이트에서 로그인을 가능하게 하는 것은 조금 덜 고민해도 되는데
한군데서 로그인한 세션을 다른 사이트에서도 이용하게 하는 것은 많은 고민과 기존 라이브러리 수정이
필요할 것 같습니다. 그래서 ci단이 아닌 다른 방식으로 말씀드린 것이구요)

프레임워크단에서 해결하시고 올려주시면 다른 분들께 많은 도움이 될 수 있습니다.
e놀이터 / 2012/05/21 18:23:13 / 추천 0
친절한 답변 감사요 ^^

제가 일주일동안 구글링하면서 고민을 했는데, 역시 예상밖으로 쉽지 않더군요.
결국 해결은 못했습니다만, 해결 방법이 있으면 꼭 공유해 드릴께요 ~
criuce / 2012/05/22 15:57:31 / 추천 0
저희도 이번에 새로운 서비스 기획하면서 이 부분에 대해 정말 많은 고민해봤는데  
cc.com 으로 새로운 인증서버를 만드시고 세션으로 인증을 관리하지 않고 http로 인증서버로 부터 로그인 정보를 가져오면 간단하게 구축이 가능하지 않을까요?
물론 웹서버와 인증서버간의 통신은 암호화가 필요하겠구요..;

변종원(웅파) / 2012/05/22 23:56:01 / 추천 0
criuce/ 네 전문형태로 처리 가능합니다. 로그인 전문, 로그아웃 전문, 로그인 여부체크 전문

이렇게 3개의 전문이 있으면 가능하고 로그인 전문호출하면 서버에 세션이 남게 되고 이후 로그인이 필요한 프로그램에서는 로그인 여부 체크 전문을 통해 로그인여부를 파악하여 로그인되어 있으면 통과, 안되어 있으면 다시 로그인 하도록 하면 됩니다.