찾기
내용으로 건너뛰기
추적
문서의 이전 판을 선택했습니다!
저장하면 이 자료로 새 판을 만듭니다.
미디어 파일
{{tag>xe dokuwiki session authxe 도쿠위키}} ======Authxe: XE & Dokuwiki 동시 로그인====== [[도쿠위키|도쿠위키]]의 강력한 유연성 (커스터마이징 능력) 을 십분 활용하여 **로긴/로그아웃**은 **[[XE]]**로 하고 도쿠위키에서는 그 정보만 가져다 쓰는 방법이다. <del>도쿠위키의 로긴/로그아웃 버튼은 떼버려야한다.</del> 설정의 Disabled action에 ** login,logout**을 입력한다. ===== inc/init.php 수정===== <del>도쿠위키 루트에 있는 파일 **doku.php** 혹은</del> /inc/init.php를 수정한다. <WRAP center round important 60%> doku.php를 수정하면 페이지를 표시하는 것 외의 다른 작업 (그림 올리기 등) 에서는 ACL이 안먹는다. 그러니 init.php를 수정해야 한다.</WRAP> 가장 최상단에 다음의 내용을 삽입한다. 도쿠위키 시작시에 XE도 같이 시작하는 것이다. <code php><?php define("__ZBXE__",true); // xe 여기있소! define("__XE__",true); //XE 1.5.3 이후의 버전에서는 추가해야 한다. require_once("/home2/vaslor/html/bb/config/config.inc.php"); //XE설정파일의 적절한 경로를 넣다. $oContext = &Context::getInstance(); $oContext->init(); //도쿠위키 시작시에 XE도 같이 시작하는 것이다. ?> </code> =====authxe plugin 추가===== lib/plugins 폴더에 authxe 폴더를 추가하고 아래 파일을 넣다. <file php auth.php><?php // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); /** * Authxe authentication backend * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @author V_L <dryoo@live.com> */ class auth_plugin_authxe extends DokuWiki_Auth_Plugin { protected $users = null; protected $_pattern = array(); public function __construct() { parent::__construct(); $this->cando['external'] = true; global $config_cascade; } function trustExternal($user,$pass,$sticky=false){ global $USERINFO; if (class_exists(Context)) { $logged_info = Context::get("logged_info"); if($logged_info){ $sticky ? $sticky = true : $sticky = false; $USERINFO['name'] = $logged_info->nick_name; $USERINFO['pass'] = $logged_info->password; $USERINFO['mail'] = $logged_info->email_address; $USERINFO['grps'] = @array_values(@array_filter($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; } else return false; } }</file> =====도쿠위키 설정===== ====템플릿 선택 및 어드민 설정==== ^ 위치 ^ 내용 ^ |설정 -> 인증설정->authtype 인증 백-엔드 | "authxe"를 선택한다.| |설정 -> 인증설정-> manager 관리자 |<del> "@관리그룹" 을 추가 한다.</del> | 이 것보다는 그냥 xe에서 그룹을 admin, user등으로 바꾸는 것이 더 낫다. ====도쿠위키 로그인/로그아웃 막음==== 이제 도쿠위키의 로긴/로그아웃은 작동하지 않는다. 의미가 없으므로 설정에서 그림과 같이 등록, 로긴,로그아웃을 제한한다. 이렇게 하면 메뉴에 해당항목이 나타나지 않다. <del>템플릿(스킨)을 적절히 수정하여 login/logout 버튼을 뗍니다.</del> {{tech/authxe.jpg}} ==== 로긴/로그아웃 링크 넣기==== ===사이드바에 넣기 (쉬움)=== 사이드바 (sidebar) 를 편집한다. [[http://vaslor.net/bb/?act=dispMemberLogout|로그아웃]] [[http://vaslor.net/bb/?act=dispMemberLoginForm|로그인]] [[http://vaslor.net/bb/?act=dispMemberLogout|로그아웃]] [[http://vaslor.net/bb/?act=dispMemberLoginForm|로그인]] 로그인/로그아웃 상태가 반영되지 않는 단점(!)이 있다. ===xe의 로긴/로그아웃으로 연결되는 링크를 템플릿을 수정하여 넣기=== 뷀넷에서 처리한 방식이다. <code php> <ul class="" style="text-align:right"> <?PHP if (class_exists(Context)) { $logged_info = Context::get("logged_info"); if($logged_info){ echo "<li ><a>".$logged_info->nick_name." (".$logged_info->user_id.")"."</a></li> <li ><a s href=\"http://vaslor.net/bb/?act=dispMemberLogout\">로그아웃</a></li>"; } else { echo "<li><a href=\"http://vaslor.net/bb/?act=dispMemberSignUpForm\">회원가입</a></li> <li><a href=\"http://vaslor.net/bb/?act=dispMemberLoginForm\">로그인</a></li>"; } }?> </ul></code> 사용하는 템플릿 주로 dokuwiki 템플릿을 직접 수정하여 위의 코드를 삽입하는 것이다. 도쿠위키 설치된 곳에서 /lib/tpl/dokuwiki/main.php 를 수정하면된다. 44줄에 사이드 바 명령 밑에 넣으면 적당할 듯 보이다.... <code php> <div class="content"> <?php tpl_flush() ?> <?php tpl_includeFile('sidebarheader.html') ?> <?php tpl_include_page($conf['sidebar'], 1, 1) ?> <?php tpl_includeFile('sidebarfooter.html') ?> </div> </code> 이것에 문구를 추가한다. <code php> <div class="content"> <?php tpl_flush() ?> <?php tpl_includeFile('sidebarheader.html') ?> <ul class="" style="text-align:right"> <?PHP if (class_exists(Context)) { $logged_info = Context::get("logged_info"); if($logged_info){ echo "<li ><a>".$logged_info->nick_name." (".$logged_info->user_id.")"."</a></li> <li ><a s href=\"http://vaslor.net/bb/?act=dispMemberLogout\">로그아웃</a></li>"; } else { echo "<li><a href=\"http://vaslor.net/bb/?act=dispMemberSignUpForm\">회원가입</a></li> <li><a href=\"http://vaslor.net/bb/?act=dispMemberLoginForm\">로그인</a></li>"; } }?> </ul> <?php tpl_include_page($conf['sidebar'], 1, 1) ?> <?php tpl_includeFile('sidebarfooter.html') ?> </div> </code> ''http://vaslor.net/bb'' 를 해당 사이트의 게시판주소로 바꿉니다. * 참고: https://www.dokuwiki.org/devel:working_example_of_trustexternal {{daumview>50475960?box}} ^ 누구나 수정하실 수 있다. [[http://vaslor.net/syntax|위키 사용법]] 참고하라. ^
저장
미리 보기
취소
편집 요약
참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 배포하는 데 동의하는 것으로 간주합니다:
CC Attribution-Noncommercial-Share Alike 4.0 International
연결문서
공지 [14/08/25] 로그인 변경
도쿠위키 (Dokuwiki)
XE & Dokuwiki 동시 로그인
문서 도구
문서 보기
이전 판
연결문서
맨 위로
다크 모드로 보기
☀️
Toggle Menu
기술
너두 고쳐두 됩니다.
사이트 도구
최근 바뀜
미디어 관리자
사이트맵
사용자 도구
등록
로긴
최근 수정된 문서
포진
남성난임
자위 행위 (masturbation)
자위
제거됨
유방의 엽상종양 Phyllodes Tumor
[유방암 위험]
황체홀몬 (Progesterone)
[역할]
Openclaw
[models]
Llama.cpp
[Macmini M4 32gb]
Qwen3.5
Llama
만듦
남인우
만듦
정자회복플랜
Nai
단순포진 (Herpes simplex)
[진단]
자궁근종 (Uterine myoma)
Minio
[Minio]
태아 서맥 (Fetal Bradycardia)