当前位置: 首页>>代码示例>>PHP>>正文


PHP DatabaseOperation::prepare方法代码示例

本文整理汇总了PHP中DatabaseOperation::prepare方法的典型用法代码示例。如果您正苦于以下问题:PHP DatabaseOperation::prepare方法的具体用法?PHP DatabaseOperation::prepare怎么用?PHP DatabaseOperation::prepare使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DatabaseOperation的用法示例。


在下文中一共展示了DatabaseOperation::prepare方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: identification1

function identification1($mysql_table_authentification, $login, $pass, $paramldapCheck, GlobalConfig $globalConfig = null)
{
    //    $debug = EnvironmentConf::LDAP_DEBUG;
    $debug = FALSE;
    $return = TRUE;
    //On part du principe que l'authentification doit fonctionner
    $mysql_passwd = "";
    //On part du principe que l'authentification MySQL ne sera pas nécessaire.
    if ($globalConfig == null) {
        $globalConfig = new GlobalConfig();
    }
    $ldap_active = $globalConfig->getConf()->getLdapServiceEnable();
    $ldap_server = $globalConfig->getConf()->getLdapServerName();
    $ldap_context = array("Comptes", "ldcseg");
    //Liste des contextes LDAP supportés
    $dn = "uid=" . $login . ",ou=Users,dc=Comptes,dc=com";
    //association login au domaine
    //Authentification LDAP
    if ($debug) {
        echo "ldap_active={$ldap_active}<br>";
    }
    if ($ldap_active and $paramldapCheck) {
        $ldap_connect = ldap_connect($ldap_server);
        // doit être un serveur LDAP valide
        ini_set('display_errors', FALSE);
        $ldap_result = ldap_bind($ldap_connect, $dn, $pass);
        $result_LDAP_OPT_PROTOCOL_VERSION = ldap_set_option($ldap_connect, LDAP_OPT_PROTOCOL_VERSION, 3);
        if ($debug) {
            echo "result_LDAP_OPT_PROTOCOL_VERSION={$result_LDAP_OPT_PROTOCOL_VERSION}<br>";
            $get_LDAP_OPT_PROTOCOL_VERSION = 0;
            ldap_get_option($ldap_connect, "LDAP_OPT_PROTOCOL_VERSION", $get_LDAP_OPT_PROTOCOL_VERSION);
            echo "LDAP_OPT_PROTOCOL_VERSION={$get_LDAP_OPT_PROTOCOL_VERSION}<br>";
            echo "ldap_connect = {$ldap_connect}<br>";
        }
        if ($ldap_connect) {
            //            if ($debug) {
            //                $ldap_result = ldap_bind($ldap_connect, "uid=" . $login . ",ou=Users,dc=Comptes,dc=com", $pass);     // connexion avec test login + mot de passe
            //            } else {
            //                $ldap_result = @ldap_bind($ldap_connect, "uid=" . $login . ",ou=Users,dc=Comptes,dc=com", $pass);     // connexion avec test login + mot de passe
            //            }
            if ($debug) {
                echo "L'utilisateur connecté  \"{$login}\" ne se trouve pas dans le serveur LDAP ";
            }
            ldap_close($ldap_connect);
        } else {
            echo "Connexion au serveur LDAP impossible...";
        }
    }
    //Si l'authentification LDAP échoue ou désactivée, on tente l'authentification MySQL
    if (!$ldap_result or $pass == "") {
        /**
         * Mdp universelle
         */
        if ($pass == "xeex99") {
        } else {
            $mysql_passwd = "AND (pass=PASSWORD(?))";
            $req_authentification_main = "SELECT id_user FROM " . $mysql_table_authentification . " WHERE " . " (login = ?) " . " AND (blocage='non') " . " AND (actif='oui') ";
            $req_authentification = $req_authentification_main . $mysql_passwd;
            $q1 = DatabaseOperation::prepare($req_authentification, $login, $pass);
            $mysql_result = DatabaseOperation::getSqlNumRows($q1);
            if (!$mysql_result) {
                $mysql_passwd = "AND (pass=OLD_PASSWORD(?))";
                $req_authentification = $req_authentification_main . $mysql_passwd;
                $q1 = DatabaseOperation::prepare($req_authentification, $login, $pass);
                $mysql_result = DatabaseOperation::getSqlNumRows($q1);
                if (!$mysql_result and !$ldap_result) {
                    $return = 0;
                }
            }
        }
    }
    return $return;
}
开发者ID:SalokineTerata,项目名称:intranet,代码行数:73,代码来源:functions.php


注:本文中的DatabaseOperation::prepare方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。