передо мной стоит задачка проверить логин и пароль пользователя windows (все пользователи в домене)
подключаюсь к контролеру домена:
$dm=ldap_connect("localhost");
echo "connect result is ".$dm."
";
и получаю результат:
connect result is Resource id #2
Не подскажете, что я делаю не правильно?
Спустя 51 минута, 10 секунд (7.11.2006 - 09:43) dreadboy написал(а):
всё правельно ты делаешь, за исключением попытки вывести коннект :)))<br>попробуй тоже самое c mysql_connect, ftp_connect и поймешь :)<br><br>держи код из мана:<br>
<?php // basic sequence with LDAP is connect, bind, search, interpret search // result, close connection echo "<h3>LDAP query test</h3>"; echo "Connecting ..."; $ds=ldap_connect("localhost"); // must be a valid LDAP server! echo "connect result is " . $ds . " "; if ($ds) { echo "Binding ..."; $r=ldap_bind($ds); // this is an "anonymous" bind, typically // read-only access echo "Bind result is " . $r . " "; echo "Searching for (sn=S*) ..."; // Search surname entry $sr=ldap_search($ds, "o=My Company, c=US", "sn=S*"); echo "Search result is " . $sr . " "; echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . " "; echo "Getting entries ...<p>"; $info = ldap_get_entries($ds, $sr); echo "Data for " . $info["count"] . " items returned:<p>"; for ($i=0; $i<$info["count"]; $i++) { echo "dn is: " . $info[$i]["dn"] . " "; echo "first cn entry is: " . $info[$i]["cn"][0] . " "; echo "first email entry is: " . $info[$i]["mail"][0] . " <hr />"; } echo "Closing connection"; ldap_close($ds); } else { echo "<h4>Unable to connect to LDAP server</h4>"; } ?>
Спустя 3 часа, 53 минуты, 52 секунды (7.11.2006 - 13:36) Ann59 написал(а):
А как проверить конкретного пользователя в домене?
(user и pass - принимаются из формы)
$r1 = ldap_bind($ad, $user, $pass);
if ($r1)
{print "Аутентификация";}
else
{print "Ошибка";}
выдает ошибку:
Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Invalid credentials in login.php on line 70
как должен описываться user? это ведь не просто доменное имя?
а в ldap_search($ds, "o=My Company, c=US", "sn=S*") я не понимаю как 2 и 3 параметры должны быть заданы....
"sn=S*" - это фильтр (допустим, это $user), но как проверить правильность вводимого пароля?
"o=My Company, c=US" - а как их узнать для моего домена?
(user и pass - принимаются из формы)
$r1 = ldap_bind($ad, $user, $pass);
if ($r1)
{print "Аутентификация";}
else
{print "Ошибка";}
выдает ошибку:
Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Invalid credentials in login.php on line 70
как должен описываться user? это ведь не просто доменное имя?
а в ldap_search($ds, "o=My Company, c=US", "sn=S*") я не понимаю как 2 и 3 параметры должны быть заданы....
"sn=S*" - это фильтр (допустим, это $user), но как проверить правильность вводимого пароля?
"o=My Company, c=US" - а как их узнать для моего домена?
Спустя 2 часа, 12 минут (7.11.2006 - 15:48) dreadboy написал(а):
я вообще никогда с LDAP не работал.
не было неообходимости.
покапайся на php.net.
не было неообходимости.
покапайся на php.net.
_____________