2012-04-15 8 views
0

я обнаружил AjaXplorer и мне было интересно, если есть шаг за шагом руководство о том, как активизировать связь между базой данных я прочитал файл http://ajaxplorer.info/documentation/developer-documentation/chapter-external-bridge/ , но все еще думаю, что его слишком детализированыAjaXplorer подключиться к базе данных

является есть шаг за шагом ajax, чтобы связать базу данных?

ответ

2

1: Заменить драйвер аутентификации и драйвер конф в bootstrap_plugins.php со следующим:

"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

Спасибо за образец кода, Ахмед. Я добавил его к моему и смог видеть через журналы, которые я успешно вхожу в систему, но когда я затем нажимаю ссылку на ajaxplorer, у нее все еще есть всплывающее окно входа, которое я надеялся обойти. Любая идея, что я делаю неправильно? –

+0

см. Строки, в которых пользователь аутентифицирован в gluecode. Помню, я установил, что если условие true, чтобы обойти метод аутентификации ajaxplorer. – ahmed

1

1) Вы не можете использовать мост с методом SQL Auth в AjaxPlorer без значительного изменения кода. 2) Приведенный выше пример неверен, потому что вы должны указать параметр «remote» для «NAME» или он не будет пытаться создать мост.

Это, как работает процесс ...

Вы говорите AjaXplorer преодолеть, указав «NAME» => «удаленный» для настройки «AUTH_DRIVER». Затем AjaXplorer связывается с вашей CMS при попытке входа через плагин AjaXplorer CMS и записывает пользователя в файл users.ser (Serial File), если он не существует. В этот момент AjaXplorer даже не пытается вообще искать какую-либо базу данных. База данных полностью обойдена погодой, которую вы указываете «SQL_DRIVER» => $ SQL_Settings или нет. Единственный способ, которым он будет ссылаться на базу данных, - это «НАЗВАНИЕ» => «sql» для установки «AUTH_DRIVER». Но тогда, если вы используете «sql», вы не сможете иметь функциональность моста.

Лично я думаю, что это ОГРОМНАЯ ошибка и серьезное раздражение.

Надеюсь, это очистит все замешательство.

Смежные вопросы