AjaXplorer подключиться к базе данных
Я обнаружил AjaXplorer, и мне было интересно, есть ли пошаговое руководство о том, как увеличить связь между базой данных, я прочитал файл http://ajaxplorer.info/documentation/developer-documentation/chapter-external-bridge/ но все же думаю, что это слишком подробно
Есть ли шаг за шагом AJAX, чтобы связать базу данных?
2 ответа
1. Замените драйвер auth и драйвер conf в 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: это если вы хотите войти через собственную страницу входа, вы должны добавить строки с глюкодом, когда страница входа после аутентификации имени пользователя и пароля:
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);
Это должно работать.
1) Вы не можете использовать мост с методом SQL Auth в AjaxPlorer без значительного изменения кода. 2) Приведенный выше пример неверен, поскольку необходимо указать параметр "remote" для "NAME", иначе он не будет пытаться создать мост.
Вот как этот процесс работает...
Вы указываете AjaXplorer для моста, указав "NAME" => "remote" для параметра "AUTH_DRIVER". Затем AjaXplorer связывается с вашей CMS при попытке входа в систему через плагин AjaXplorer CMS и записывает пользователя в файл users.ser (Serial File), если они не существуют. На этом этапе AjaXplorer даже не пытается просматривать какую-либо базу данных вообще. База данных полностью обойдена, если вы укажете "SQL_DRIVER" => $SQL_Settings или нет. Единственный способ, которым он будет ссылаться на базу данных, это если "NAME" => "sql" для параметра "AUTH_DRIVER". Но тогда, если вы используете 'sql', вы НЕ сможете использовать функции моста.
Лично я считаю, что это ОГРОМНАЯ ошибка и серьезное раздражение.
Я надеюсь, что это прояснит всю путаницу.