0
リモートLDAPサーバーを使用しようとしています。セキュリティの目的で、私は安全な接続だけを使用しようとしています。私はいくつかのコードを動作させることができますが、次のコードが安全なチャネルでのみ動作する場合は、TLS自体のPHPドキュメントを参照してください。誰か助けてくれますか?安全なLDAP用のTLSを使用したPHP
$is_valid_user = FALSE;
try {
$ds = ldap_connect('ldap.foo.com', 389);
if (! ldap_set_option($ds, LDAP_OPT_REFERRALS, 0)) {
return "";
}
if (! ldap_start_tls($ds)) {
return "";
}
} catch(Exception $e) {
return "";
}
if (! ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
$error = "LDAP Server protocol error.";
return "";
}
try {
$bnd = @ldap_bind($ds, 'uid='.$user.', ou=people, dc=ldap, dc=foo, dc=com' , $passwd);
if ($bnd) {
$is_valid_user = TRUE;
$srch=ldap_search($ds, 'dc=ldap, dc=foo, dc=com', "uid=$user");
$info=ldap_get_entries($ds, $srch);
$userdn=$info[0]["dn"];
$usernm=$info[0]["cn"][0];
return $usernm;
} else {
return "";
}
} catch(Exception $e) {
return "";
}
ありがとうございました。 null文字列を返す理由は、これらの行が関数から情報を取得するための関数の一部であるためです。私はリターンを使用することもできたかもしれない偽、持っている必要があります。しかし、この戻り値の型は、PHPでは無意味な引数であると考えています。他のツールと同様に、私は認証して名前を取得する必要があります、それだけです。 – user926918