차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:xe_dokuwiki [2013/02/05 01:42] – [XE & Dokuwiki 동시 로그인] V_Ltech:xe_dokuwiki [2016/07/12 00:56] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +{{tag>xe dokuwiki session}}
 +======XE & Dokuwiki 동시 로그인======
 +
 +
 +
 +이 방법은 **구버전** 용입니다. 도쿠위키 최신버전 (2013-05-10a "Weatherwax")에서는 인증모듈이 플러긴 방식으로 변경되었습니다. 이 문서에서 소개하는 방법을 사용하면 안됩니다. [[tech:authxe]]참조 하세요.
 +
 +도쿠위키의 강력한 유연성 (커스터마이징 능력) 을 십분 활용하여 로긴/로그아웃은 XE로 하고 도쿠위키에서는 그 정보만 가져다 쓰는 방법입니다.
 +
 +도쿠위키의 로긴/로그아웃 버튼은 떼버려야합니다.
 +===== doku.php 수정=====
 +도쿠위키 루트에 있는 파일 doku.php 수정합니다.
 +
 +가장 최상단에 다음의 내용을 삽입합니다. 도쿠위키 시작시에 XE도 같이 시작하는 것입니다.
 +
 +<code php><?php
 +define('__ZBXE__',true);   //도쿠위키 시작시에 XE도 같이 시작하는 것입니다.
 +define(`__XE__`,true) //XE 1.5.3 이후의 버전에서는 다음도 추가해야 합니다.
 +require_once("../config/config.inc.php");  //XE설정파일의 적절한 경로를 넣습니다.
 +$oContext = &Context::getInstance();
 +$oContext->init();
 +?>
 +</code>
 +
 +=====xe.class.php 추가=====
 +XE 연동 파일 업로드 : xe.class.php
 +inc/auth/xe.class.php에 위치하면 됩니다. 사용자 정의 로긴설정 파일입니다.
 +
 +<file php xe.class.php><?php
 +/**
 + * XE Backend (2011-07-02)
 + *
 + * @author 50ndd1n6 <[email protected]>
 + */
 +define('DOKU_AUTH', dirname(__FILE__));
 +define('AUTH_USERFILE',DOKU_CONF.'users.auth.php'); 
 +class auth_xe extends auth_basic {
 +    function auth_xe(){
 +        $this->cando['external'] = true;
 +    }
 +    function trustExternal($user,$pass,$sticky=false){
 +        global $USERINFO;
 +        //global $conf; //필요없슴.
 +        if (!class_exists(Context)) return false;
 +        $logged_info = Context::get("logged_info");
 +        if($logged_info){       
 +            $sticky ? $sticky = true : $sticky = false;
 +            $USERINFO['name'] = $logged_info->user_id;
 +            $USERINFO['pass'] = $logged_info->password;;
 +            $USERINFO['mail'] = $logged_info->email_address;
 +            $USERINFO['grps'] = $logged_info->group_list;
 +            $_SERVER['REMOTE_USER'] = $logged_info->user_id;
 +             $_SESSION[DOKU_COOKIE]['auth']['user'] = $logged_info->user_id;
 +            $_SESSION[DOKU_COOKIE]['auth']['info'] = $USERINFO;
 +                return true;
 +          } else {
 +            return false;
 +        }
 +
 +    }
 +}
 +?></file>
 +
 +=====도쿠위키 설정 추가=====
 +
 +^  위치  ^  내용  ^
 +|설정 -> 인증설정->authtype 인증 백-엔드 | "XE"를 선택합니다.|
 +|설정 -> 인증설정-> manager 관리자  | "@관리그룹" 을 추가 합니다. | 
 +===== 템플릿 변경=====
 +이제 도쿠위키의 로긴/로그아웃은 작동하지 않습니다. 템플릿(스킨)을 적절히 수정합니다.
 +
 +
 +  * 출처: [[http://50ndd1n6.tistory.com/59| 50ndd1n6 블로그]]
 +  * 참고: https://www.dokuwiki.org/devel:working_example_of_trustexternal
 +
 +  * 심각한 문제가 있는 것으로 보입니다. 그룹명을 전해주기는 하지만 ACL plugin에서 제대로 읽지 못하는 것 같습니다. 고로... 그룹별 권한이 제대로 작동하지 않습니다.;;
 +  * 
 +^  누구나 수정하실 수 있습니다. [[http://vaslor.net/syntax|위키 사용법]] 참고하세요. ^
 +