LDAPの問題を理解しています。 Active Directoryサーバーを使用している場合は、username @ domainとパスワードでバインドできます。
私がApacheDSを使うとき、私はそれにユーザのフルDNとパスワードを与えなければなりません。
だから私は次の質問があります:
- どのように私はApacheDSサーバー上のユーザーの完全なDNを見つけるのですか? 匿名の特権、およびユーザ名、ドメイン(および パスワード)?
- これは偶然ですか? ApacheDSサーバーは、
- Active Directoryに代わるもの?
回答:
回答№1は1一般に、LDAP認証は2つのステップで行われます。
- 次のようなフィルタ付きの検索操作を使用して、特定の一意のユーザー識別子(uid)をその識別名にマッピングします
(&(objectClass=user)(uid=%s))
- そのdnとのバインド操作を使用して、LDAPサーバーに対して認証します。
Active Directoryには便利な機能が付いています。サポートされている2つの識別子を使ってバインドすることができ、ADは内部的にマッピングを行います。
ApacheDSはADに代わるプラグアンドプレイではありませんが、拡張可能です。 Java開発者は、ADと同じ内部マッピングを提供する認証インターセプターを簡単に書くことができます。
回答№2の場合は1
marabuが言ったように、バインドをする前にディレクトリの検索を使って認証をシミュレートすることができます。
他の認証方法を提供するSASL認証を探すこともできます。
ApacheDSがサポートするSASLメカニズムのリストは以下のとおりです。 http://directory.apache.org/apacheds/advanced-ug/4.1.2-sasl-authn.html