웹제로에 오신것을 환영합니다.
 
                   
home 로그인 회원가입 이벤트
 공지사항  
 서버작업  
 보안뉴스  
 보안패치  
 자주 묻는 질문  
 지식포럼  

HTML

 
PHP
제로보드
LINUX
WINDOWS
 호스팅 메뉴얼
 도메인 메뉴얼  
도메인 등록
도메인 파킹
도메인 포워딩
도메인 DNS변경
 웹메일 호스팅 메뉴얼  
MS-Outlook 2007 세팅법
Outlook Express 6.0 세팅법
 이벤트

ns.webzero.kr
121.254.249.2
 
ns2.webzero.kr
121.254.249.3



고객센터 홈 > 고객센터

제로보드



제목: 통합로그인 기법-서로다른 도메인간 제로보드 통합 로그인
분류: 일반
이름: 웹제로™ * http://www.wixx.co.kr


등록일: 2007-04-23 15:39
조회수: 22559 / 추천수: 171


제로보드에서 서로다른 도메인간 통합로그인에 대한 기법설명입니다.
서로다른 도메인간 어떻게하면, 한곳에서 로그인한 정보가 다른도메인으로
이동시 같이 움직이게 할 것인가에 대해 오랫동안 고심해 왔죠.

그러던 중, 한가지 방법을 찾아냈습니다.

/bbs/login_check.php 를 한번 보시죠.

a.com 과 b.com 의 제로보드가 동시에 동작하게 하는 예제입니다.
========================
a.com/bbs/login_check.php 내용중에서

        ......
        ......
        session_register("zb_logged_ip");
        session_register("zb_last_connect_check");

        echo"
<SCRIPT LANGUAGE="JavaScript">
<!--
function login_process()
{
    form.submit();
}
//-->
</SCRIPT>
</HEAD>
<BODY onload="login_process()">
<form name=form method=post action="http://b.com/bbs/login_check.php" target=iframe>
<input type=hidden name=user_id value="$user_id">
<input type=hidden name=password value="$password">
</form>
<iframe src='about:blank' name=iframe width=0 height=0></iframe>
        ";


        // 로그인 후 페이지 이동
        $s_url=urldecode($s_url);
        .....
        .....

=========================

핵심사항
<body onload=...>를 통해서 다른 b.com의 제로보드로그인정보 user_id , password를 form method=post로 바로 날리는 건 이해되실 겁니다.

그러나 이렇게 되면, 로그인후에 딴 b.com이 나오게 되죠.

그래서 편법을 사용하는데, <iframe name=iframe....> 즉, width=0 height=0 인 숨겨진 iframe을 만든후에 <form ....target=iframe> 즉, form 을 던질때 타겟을 iframe쪽으로 던집니다. 그러면 화면에서는 숨겨진 iframe에서 b.com이 로그인되겠죠. ^^

중요사항

login_check.php 제일하단에 수정해야 되는 부분이 있습니다.

========================================================
        .......
        .......
        $s_url=urldecode($s_url);
        if(eregi("reg_domain",$s_url)){ movepage('/'); }
        if(eregi("renew",$s_url)){ movepage('/'); }
        if(eregi("transfer",$s_url)){ movepage('/'); }
        if(!$s_url&&$id) $s_url="zboard.php?id=$id";
        if($s_url) movepage($s_url);
        elseif($id) movepage("zboard.php?id=$id&page=$page&page_num=$page_num&select_arrange=$select_arrange&desc=$des&sn=$sn&ss=$ss&sc=$sc&keyword=$keyword&category=$category&no=$no");
        elseif($group[join_return_url]) movepage($group[join_return_url]);
        elseif($referer) movepage($referer);
        else movepage('/');
        -------------------(이부분)

// 회원로그인이 실패하였을 경우 에러 표시
    } else {
        head();
        Error("로그인을 실패하였습니다");
        foot();
    }

    @mysql_close($connect);
?>

=============================================

위에 보시면, else moviepage('/');
로 수정되었습니다. 원래는 history.go(-2); 였죠.
만일 세션에서 백을 하게되면 세션이 날라가버립니다.
결국, 해보시면 로그인될때 로그인안된 것처럼 두화면백을 하게되죠.

그래서 강제로 메인페이지로 이동시키는 겁니다.


이렇게 하시면,  SSO를 사용하지 않더라도 간단히 통합로그인구현이 가능할겁니다.

^^
  -목록보기  
의견(코멘트)을 작성하실 수 없습니다. 이유: 권한이 없는 회원레벨
번호 제목 글쓴이 추천 조회
28  제로보드 백업 및 복구(서버이전시 제로보드 옮기는법) 웹제로™ 195 18645
  통합로그인 기법-서로다른 도메인간 제로보드 통합 로그인 웹제로™ 171 22559
26  zb5 하위메뉴 포함 이게 뭔가요? 웹제로™ 198 9691
25  zb5 그룹관리 기능은 없나요? 웹제로™ 179 9435
24  zb5 설치후 아무화면이 안나올때. 웹제로™ 187 10721
23  제로카운트 방문경로가 똑같아요. 해결책 웹제로™ 144 9624
22  index.html 상단 제로보드 연결하는 방법 웹제로™ 192 12578
21  zerocounter 100일간만 보관법 웹제로™ 212 8955
20  제로보드 설치시 관리자 아이디 및 비번 설정안내 웹제로™ 227 9673
-목록보기  -다음페이지  
1   2  
       
/ skin by  

기술보증기금인증  벤처기업 기술혁신형 중소기업 INNOBIZ ISO 9001 인증기업 이호스트데이터센터 기업부설연구소 인정서 정보보호 안전진단 필증 획득
(사)한국인터넷호스팅협회 회원사 한국인터넷진흥원 ICANN 인증 국제도메인등록기관 한국인터넷진흥원공인 도메인등록대행자 한국소프트웨어산업협회
소프트웨어사업자 신고확인서

회사소개 개인정보취급방침 호스팅 이용약관 회원 이용약관 이메일주소 무단수집거부 고객지원 찾아오시는 길

ㆍ본사 : 153-803 서울시 금천구 가산동 371-37 STX V타워 1509호 ㆍIDC 운영센터 : 서울시 금천구 가산동 459-9 LG 데이콤 7층
(주)이호스트데이터센터 사업자등록번호:214-87-61456 부가통신사업신고:서초 제 11006호 통신판매업신고:서초 제 05006호
Copyright(c)2005-2010 ehostIDC Allrights reserved. domain@ehostidc.co.kr

  굿네이버스