2012-04-15 2 views

답변

2

1 : 다음과 같이 bootstrap_plugins.php에서 인증 드라이버와의 conf 드라이버를 교체 :

"CONF_DRIVER" => array(
     "NAME"  => "sql", 
     "OPTIONS" => array(
      "SQL_DRIVER" => array(
       "driver" => "mysql", 
       "host"  => "db_server", 
       "database" => "db_name", 
       "user"  => "db_username", 
       "password" => "db_password", 
      ), 
      ) 
),  

"AUTH_DRIVER" => array(
      "NAME"   => "sql", 
      //"NAME" => "remote", 
      "OPTIONS"  => array(
      "SLAVE_MODE" => true, 
       "SQL_DRIVER" => array(
             "driver" => "mysql", 
             "host"  => "db_server", 
             "database" => "db_name", 
             "user"  => "db_username", 
             "password" => "db_password" 
              ), 

       "LOGIN_URL" => "../login.php", // The URL to redirect to if a non-logged user tries to access AjaXplorer 
       "LOGOUT_URL" => "../logout.php", // The URL to redirect upon login out 
       "SECRET" => "ahmed",// the secret key that you will pass to the glueCode when communicating with it (see below) 
       "TRANSMIT_CLEAR_PASS" => false // Don't touch this. It's unsafe (and useless here) to transmit clear password. 
             ) 
       ), 

2 : 당신이 당신의 자신의 로그인 페이지를 통해 로그인하려는 경우는, 당신은 때 glucode 라인을 추가해야합니다 사용자 이름과 암호를 인증 한 후 로그인 페이지 :

define("AJXP_EXEC", true); 
    $glueCode = "ajaxplorer-core-4.0.4/plugins/auth.remote/glueCode.php"; 
    $secret = "ahmed"; 

    // Initialize the "parameters holder" 
    global $AJXP_GLUE_GLOBALS; 
    $AJXP_GLUE_GLOBALS = array(); 
    $AJXP_GLUE_GLOBALS["secret"] = $secret; 
    $AJXP_GLUE_GLOBALS["plugInAction"] = "login"; 
    $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); 

이것은 작동합니다.

+0

Ahmed의 코드 샘플을 보내 주셔서 감사합니다. 나는 그것을 내 사이트에 추가했고 로그를 통해 내가 성공적으로 로그인하고 있음을 볼 수 있었지만, 그때 내가 ajaxplorer에 대한 링크를 클릭하면 여전히 우회하려고하는 로그인 팝업을 가지고있다. 내가 뭘 잘못하고 있는거야? –

+0

글루 코드에서 사용자가 인증 된 행보기 ajaxplorer 인증 방법을 무시하기 위해 조건이 true로 설정된 것을 기억합니다. – ahmed

1

1) 코드를 크게 수정하지 않고 AjaxPlorer에서 SQL Auth 메소드로 bridge를 사용할 수 없습니다. 2) 위의 예는 "NAME"에 대해 "remote"매개 변수를 지정해야하므로 올바르지 않거나 브리지를 만들지 않습니다.

프로세스가 작동하는 방법이 ...

당신은 "NAME"=> "원격"에 대한 "AUTH_DRIVER"설정을 지정하여 다리를 AjaXplorer를 말한다. 그런 다음 AjaXplorer는 AjaXplorer CMS 플러그인을 통해 로그인 시도시 CMS와 연결되고 users.ser (직렬 파일)에 사용자를 씁니다 (존재하지 않는 경우). 이 시점에서 AjaXplorer는 데이터베이스를 전혀 보려고하지 않습니다. "SQL_DRIVER"=> $ SQL_Settings를 지정하는 날씨는 데이터베이스가 완전히 무시됩니다. "AUTH_DRIVER"설정에 대해 "NAME"=> 'sql'인 경우에만 데이터베이스를 참조합니다. 그러나 'sql'을 사용하면 브리지 기능을 사용할 수 없습니다.

개인적으로 나는 이것이 거대한 버그와 큰 성가심이라고 생각합니다.

나는 이것이 모든 혼란을 해결하기를 바랍니다.