AjaXplorer连接到数据库

时间:2012-04-15 19:49:12

标签: ajax linux login pydio

我发现了AjaXplorer,我想知道是否有一个逐步指导如何加强数据库之间的链接我已经阅读了文件http://ajaxplorer.info/documentation/developer-documentation/chapter-external-bridge/ 但仍然认为它太详细了

是否有一步一步的ajax链接数据库?

2 个答案:

答案 0 :(得分:2)

1:使用以下内容替换bootstrap_plugins.php中的auth驱动程序和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);

这应该有用。

答案 1 :(得分:1)

1)您无法在AjaxPlorer中使用带有SQL Auth方法的桥,而无需大量修改代码。 2)上面的示例不正确,因为您必须为“NAME”指定“remote”参数,否则它将不会尝试建立桥接。

这是该过程的工作方式......

通过指定“NAME”=>告诉AjaXplorer桥接。 “远程”为“AUTH_DRIVER”设置。 然后,AjaXplorer通过AjaXplorer CMS插件在登录尝试时与您的CMS链接,并将用户写入users.ser(串行文件)(如果它们不存在)。 在这一点上,AjaXplorer甚至根本不会尝试查看任何数据库。 数据库是完全被绕过的天气你指定“SQL_DRIVER”=> $ SQL_Settings与否。 它将引用数据库的唯一方式是“NAME”=> 'sql'代表“AUTH_DRIVER”设置。 但是如果你使用'sql',你将无法拥有桥接功能。

我个人认为这是一个巨大的错误,也是一个主要的烦恼。

我希望这可以解决所有困惑。