예제 #1
0
파일: lib.php 프로젝트: abhilash1994/moodle
 /**
  * Search specified contexts for the specified userid and return the
  * user dn like: cn=username,ou=suborg,o=org. It's actually a wrapper
  * around ldap_find_userdn().
  *
  * @param string $userid the userid to search for (in external LDAP encoding, no magic quotes).
  * @return mixed the user dn or false
  */
 protected function ldap_find_userdn($userid)
 {
     global $CFG;
     require_once $CFG->libdir . '/ldaplib.php';
     $ldap_contexts = explode(';', $this->get_config('user_contexts'));
     $ldap_defaults = ldap_getdefaults();
     return ldap_find_userdn($this->ldapconnection, $userid, $ldap_contexts, '(objectClass=' . $ldap_defaults['objectclass'][$this->get_config('user_type')] . ')', $this->get_config('idnumber_attribute'), $this->get_config('user_search_sub'));
 }
예제 #2
0
 /**
  * Search specified contexts for the specified userid and return the
  * user dn like: cn=username,ou=suborg,o=org. It's actually a wrapper
  * around ldap_find_userdn().
  *
  * @param string $userid the userid to search for (in external LDAP encoding, no magic quotes).
  * @return mixed the user dn or false
  */
 protected function ldap_find_userdn($userid)
 {
     global $CFG;
     require_once $CFG->libdir . '/ldaplib.php';
     $ldap_contexts = explode(';', $this->get_config('user_contexts'));
     return ldap_find_userdn($this->ldapconnection, $userid, $ldap_contexts, $this->userobjectclass, $this->get_config('idnumber_attribute'), $this->get_config('user_search_sub'));
 }
예제 #3
0
 /**
  * Search specified contexts for username and return the user dn
  * like: cn=username,ou=suborg,o=org. It's actually a wrapper
  * around ldap_find_userdn().
  *
  * @param resource $ldapconnection a valid LDAP connection
  * @param string $extusername the username to search (in external LDAP encoding, no db slashes)
  * @return mixed the user dn (external LDAP encoding) or false
  */
 function ldap_find_userdn($ldapconnection, $extusername)
 {
     $ldap_contexts = explode(';', $this->config->contexts);
     if (!empty($this->config->create_context)) {
         array_push($ldap_contexts, $this->config->create_context);
     }
     return ldap_find_userdn($ldapconnection, $extusername, $ldap_contexts, $this->config->objectclass, $this->config->user_attribute, $this->config->search_sub);
 }
예제 #4
0
파일: f.php 프로젝트: e-rasvet/mcm
function ldap_login($extusername, $extpassword)
{
    global $options;
    if ($options['ldap_enable'] != 1) {
        return false;
    }
    $ldapconnection = ldap_connect_moodle();
    $ldap_user_dn = ldap_find_userdn($ldapconnection, $extusername);
    // If ldap_user_dn is empty, user does not exist
    if (!$ldap_user_dn) {
        ldap_close($ldapconnection);
        return false;
    }
    // Try to bind with current username and password
    $ldap_login = @ldap_bind($ldapconnection, $ldap_user_dn, $extpassword);
    ldap_close($ldapconnection);
    if ($ldap_login) {
        return true;
    }
    return false;
}