4 Check username and password by connecting to LDAP server.
9 define("EWIKI_LDAP_SERVER", "ldap.example.com");
10 define("EWIKI_LDAP_RDN", 'cn=$USER,ou=users,dc=example,dc=com');
11 define("EWIKI_LDAP_FILTER", ""); // sn=* ???
12 define("EWIKI_LDAP_RING", 2);
16 $ewiki_plugins["auth_userdb"][] = "ewiki_auth_userdb_ldap";
20 function ewiki_auth_userdb_ldap($username, $password=NULL) {
23 if ($conn = ldap_connect(EWIKI_LDAP_SERVER)) {
26 $rdn = preg_replace('/[$%_]+\{USER\}|[$%]+USER[$%]?/i', $username, EWIKI_LDAP_RDN);
27 $search = EWIKI_LDAP_SEARCH;
30 if (ldap_bind($conn, $rdn, $password)) {
32 #-- connected == authenticated
33 if (!$search || ldap_count_entries($conn, ldap_search($conn, $rdn, $search)) ) {
37 #-- return password array() as true value for userdb plugins
38 return(array($password, EWIKI_LDAP_RING));