簡體   English   中英

openldap認證php5-比較密碼

[英]openldap auththentication php5 - comparing the password

我正在嘗試再次驗證我創建的ldap服務器。 用戶密碼作為sha哈希存儲在ldap中。 但是,當我嘗試訪問userPassword屬性時,該屬性不存在。 我必須以管理員身份登錄。 假設這在生產服務器上不是一個好主意。 有沒有解決的辦法?

返回密碼字段沒有任何意義。 您可以簡單地使用給定的憑據對ldap服務器進行身份驗證。

看到這個例子(參考這里: http : //php.net/manual/en/ref.ldap.php

<?php

$user = 'bob';
$password = 'zhlob';
$host = 'myldap';
$domain = 'mydomain.ex';
$basedn = 'dc=mydomain,dc=ex';
$group = 'SomeGroup';

$ad = ldap_connect("ldap://{$host}.{$domain}") or die('Could not connect to LDAP server.');
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);
@ldap_bind($ad, "{$user}@{$domain}", $password) or die('Could not bind to AD.');
$userdn = getDN($ad, $user, $basedn);
if (checkGroupEx($ad, $userdn, getDN($ad, $group, $basedn))) {
//if (checkGroup($ad, $userdn, getDN($ad, $group, $basedn))) {
    echo "You're authorized as ".getCN($userdn);
} else {
    echo 'Authorization failed';
}
ldap_unbind($ad);
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM