ノート
訪問者数 2973      最終更新 2007-12-20 (木) 14:41:23

OpenLDAPの導入

参考資料

作業

BerkeleyDBが古いので、入れ替え

OpenLDAP最新版を導入

slapd.confの設定

テスト

PHPのldapアクセスインターフェース

PHPはldap用のモジュールを入れればldapをアクセスできる。 マニュアルはhttp://www.php.net/manual/ja/ref.ldap.phpに詳しく書いてある。

PHPのldapアクセスインターフェースからのテスト(マニュアルから): 下記のようなPHPプログラムを試す。

<html>
<head>
<title>PHPLDAP test</title>
</head>
</body>
<?php
// LDAP の基本シーケンスは、接続、バインド、検索、検索結果の解釈、
// 接続のクローズです。

echo "<h3>LDAP query test</h3>";
echo "Connecting ...  <br>";
$ds=ldap_connect("LDAPサーバーのFQN");  // 有効な LDAP サーバーに違いない!
echo "connect result is " . $ds . "<br />";

if ($ds) {
    echo "Binding ...";
    $r=ldap_bind($ds);     // これは "匿名" バインドで、通常は
                           // 読みこみのみのアクセスとなります。
    echo "Bind result is " . $r . "<br />";

    $searchstring="(objectClass=*)";

    echo "Searching for  ... " . $searchstring . "<br />";
    // 名前(surname)エントリを検索
    $sr=ldap_search($ds, "cn=Manager,dc=ドメイン列", $searchstring);
    echo "Search result is " . $sr . "<br />";

    echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br  />";
 
    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"] . "<br />";
        echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
        echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
    }

    echo "Closing connection";
    ldap_close($ds);

} else {
    echo "<h4>Unable to connect to LDAP server</h4>";
}
?>

</body>
</html>

まだできていないこと

まだできていないことは、データベーススキーマの理解とそれにあわせたデータの追加。

SASLへの対応と、TSLへの対応。

東邦LDAPサーバーへのアクセス ⇒ ここから研究室内のみアクセス可?


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-12-20 (木) 14:41:23 (3625d)