2011. 1. 26. 11:13

1. conf.php파일 수정
파일경로: ajaxplorer/server/conf/conf.php
수정내용: AUTH_DRIVER(116라인)의 내용을 아래 내용으로 대체한다.
==============================================================================
"AUTH_DRIVER" => array(
  "NAME"  => "remote",
  "OPTIONS" => array(
   "SLAVE_MODE"   => true,
   "USERS_FILEPATH"  => "AJXP_INSTALL_PATH/server/users/users.ser",
   "LOGIN_URL"    => "/your_cms/login.php",            //로그인이 안되어 있을때 이동할 페이지
   "LOGOUT_URL"   => "/your_cms/homepage.php",  //로그아웃시 이동할 페이지
   "SECRET"    => "myprivatesecret",
   "TRANSMIT_CLEAR_PASS" => false)
 ),
==============================================================================


2. 실제 사이트 계정과 연동
   1) 로그인 연동
      로그인후 ajaxplorer경로로 이동시키기 전에 아래 페이지를 거져 이동시키도록 수정한다.
==============================================================================
<?php
// Here the PHP code for handling the form and the HTML code
// for displaying it are in the same file "login.php"
// but it's not necessary!
//POST방식으로 아이디와 비밀번호를 넘겨받는다
if(isSet($_POST["login"]) && isSEt($_POST["password"])){

// Necessary to make "connection" with the glueCode
define("AJXP_EXEC", true);

//ajaxplorer의 glueCode.php파일이 있는 절대 경로
$glueCode = "absolute/path/to/ajxp/plugins/auth.remote/glueCode.php";

//conf.php 파일의 SECRET 변수값과 동일해야 된다.
$secret = "myprivatesecret";  

// Initialize the "parameters holder"
global $AJXP_GLUE_GLOBALS;
$AJXP_GLUE_GLOBALS = array();
$AJXP_GLUE_GLOBALS["secret"] = $secret;

//login, logout, addUser, delUser, updateUser 옵션을 사용할수 있다.
$AJXP_GLUE_GLOBALS["plugInAction"] = "login";

//true로 변경시 ajaxplorer에 계정이 없을경우 자동으로 계정생성해준다.
$AJXP_GLUE_GLOBALS["autoCreate"] = false; 

// NOTE THE md5() call on the password field.
$AJXP_GLUE_GLOBALS["login"] = array("name" => $_POST["login"], "password" => md5($_POST["password"]));

// NOW call glueCode!
   include($glueCode);
}
?>
==============================================================================

   2) 로그아웃 연동
==============================================================================
<?php
// Necessary to make "connection" with the glueCode
define("AJXP_EXEC", true);

//ajaxplorer의 glueCode.php파일이 있는 절대 경로
$glueCode = "absolute/path/to/ajxp/plugins/auth.remote/glueCode.php";

//conf.php 파일의 SECRET 변수값과 동일해야 된다.
$secret = "myprivatesecret";  

// Initialize the "parameters holder"
global $AJXP_GLUE_GLOBALS;
$AJXP_GLUE_GLOBALS = array();
$AJXP_GLUE_GLOBALS["secret"] = $secret;

//login, logout, addUser, delUser, updateUser 옵션을 사용할수 있다.
$AJXP_GLUE_GLOBALS["plugInAction"] = "logout";   

// NOW call glueCode!
include($glueCode);
?>
==============================================================================

그외에 웹하드에 사용자추가(addUser), 사용자삭제(delUser), 비밀번호수정(updateUser)등을 연동할수 있다.

테스트 사이트 주소는 다음과 같습니다.(계정은 제가 임의로 입력해 놓았습니다)
http://www.story4u.pe.kr/test.php

ps.테스트 사이트에 적용된 소스를 첨부파일로 올려놓겠습니다.
test.php(로그인 페이지)
test2.php(로그아웃 페이지)
conf.php(ajaxplorer conf파일, 기존파일에 덮어쓰기 하셔도 됩니다)

Posted by 굿데이

댓글을 달아 주세요

  1. 궁금해요 2011.01.26 14:20  댓글주소  수정/삭제  댓글쓰기

    이해가 잘 안가서 그러는데요...현재 그누보드로 웹서버 운영중이고 100명이상의 회원이 있습니다. 이경우 100명이 자신의 아이디로 로그인하였을 때, Ajaxplorer 링크만 로그인후에 볼수 있는 화면에 넣어놓으면 그것을 클릭해서 이동했을때 자신의 아이디로 로그인된채로 이용이 가능하다는 말씀이신가요? 아니면 로그인 된상태에서 Ajaxplorer를 들어가면 Ajax자체의 로그인을 거치지 않고 사용가능하게 우회해준다는 말씀인가요? 만약 회원별로 아이디가 다른경우 아이디를 서로 연동하게 하려면 DB공유가 필요할거 같은데 그런부분이 없는거 같아서요.

    • BlogIcon 굿데이 2011.01.26 16:32 신고  댓글주소  수정/삭제

      두가지 경우를 질문하셨는데요.. 둘다입니다.
      그누보드 계정으로 로그인후 위에 기술한 링크를 통해 ajaxplorer에 접속하면 ajaxplorer에 같은 계정이 있을경우 ajaxplorer에서 로그인을 거치지 않고 이용할수 있습니다.

      또 conf.php에 있는
      $AJXP_GLUE_GLOBALS["autoCreate"] = true;
      로 변경하면 ajaxplorer에 계정이 없을경우 자동으로 계정을 생성한후
      로그인 하게 됩니다

  2. 궁금궁금 2011.10.06 23:53  댓글주소  수정/삭제  댓글쓰기

    안녕하세요? 죄송하지만 한참을 검색하다 제가 원하는 기능을 겨우 발견해서 글을 남깁니다.
    100명정도가 이용할 학과 커뮤니티 홈페이지를 제작하려고 계획중에 있는데요, 1-2기가정도의 대용량파일을 공유할 수 있는 웹하드도 컨텐츠로 넣으려고 합니다. 위의분이 질문했던 대로 저희도 홈페이지상에 웹하드 링크가 걸린 배너를 만들고 이 링크를 홈페이지에 로그인할 경우에만 이용할 수 있도록 하고싶은데 이런것도 가능할까요? 권한설정까지 가능하면 더욱 좋구요..
    프리하드도 알아보았는데 광고배너때문에 좀 망설여져서요..ㅠ
    서버호스팅을 해서 트래픽과 용량을 확보하고 프로그래밍을 능숙히 할 수 있는 사람이 없어 http://designfeel.kr/feel/html/20.php 여기에 있는 홈페이지빌더를 사용해서 제작할 예정인데요, 가능한지좀 판단해주시겠어요?
    또 가능하시다면 저희 홈페이지 만드는데 소정의 수고료를 드릴 수 있을 것 같은데 작업을 도와주실 수 있을런지요..ㅠㅠ

  3. BlogIcon 굿데이 2011.10.11 16:21 신고  댓글주소  수정/삭제  댓글쓰기

    제가 판단하기에 1~2기가 짜리 파일을 공유 하시려면 FTP를 사용하시는게 가장 좋을거 같습니다.
    그렇지 않으면 어플리케이션으로 개발된 전용 전송모듈이 탑재된 웹하드를 사용하시길 권장해 드립니다.

    저의 경우에도 웹하드 때문에 고민하다가..
    상용제품을 구입해서 사용중입니다.

    제가 사용중이 웹하드는 링크하드라고 하는 설치형 웹하드 입니다.

    더이상 도움을 못드려 죄송하네요..

  4. 흐으... 2012.04.18 01:25  댓글주소  수정/삭제  댓글쓰기

    혹시 XE와 연동하시는 방법 아시나요? ㅠ

    저거와 동일하게 하면 되는걸까요....

    XE 사용해서 htdocs안에 share라는 폴더생성후 ajaxplorer를 설치했는데
    mysql 계정 DB 연동하고 싶어서요 ㅠ