が、それは私がこのフォームをテストしている このフォーム 「ユーザ名@ドメイン」でActive DirectoryなどのOpenLDAPサーバーに接続することが可能であり、それは、Active Directoryに接続しているが、OpenLDAPので、私はフルを配置する必要がありますDN。OpenLDAPとActiveDirectoryの認証
は、誰もがそれが
おかげで可能かどうADとして接続するために私のOpenLDAPを変更する方法任意のアイデアを持ってい。
が、それは私がこのフォームをテストしている このフォーム 「ユーザ名@ドメイン」でActive DirectoryなどのOpenLDAPサーバーに接続することが可能であり、それは、Active Directoryに接続しているが、OpenLDAPので、私はフルを配置する必要がありますDN。OpenLDAPとActiveDirectoryの認証
は、誰もがそれが
おかげで可能かどうADとして接続するために私のOpenLDAPを変更する方法任意のアイデアを持ってい。
userPrincipalName(username @ realm)のような別のバインド名をopenLDAPで使用する場合は、バージョン2.4以降の再書き込み/再マップオーバーレイslapo-rwmが必要です。
非常に簡単な例は次のようになります。
# Typed and not tested!
rwm-rewriteEngine on
rwm-rewriteContext addName
rwm-rewriteRule "(.*)" "userPrincipalName=$1" ":"
rwm-rewriteMap ldap upn2dn "ldap://host/dc=my,dc=org?dn?sub"
rwm-rewriteContext bindDN
rwm-rewriteRule ".*" "${upn2dn($0)}" ":@I"
EDIT
あなたのコメントでの質問に答えて:プロトコルは独自性の概念がないようLDAPは、それが製品の機能です。たとえば、OpenLDAPでは、独自のオーバーレイを使用して、適切なバックエンドの特定の属性タイプに対して一意性を強制することができます。 phpLDAPAdminを使用すると、そのクライアントの一意性をテストする属性タイプを構成できます。
あなたの応答をありがとう、実際に私はユニークな属性を見つける方法を探しています、私のアイデアは、別のエントリですでに使用されている値を追加しようとすると、phpldapadminはそれを保存することを拒否する私は、Javaメソッドでユーザーを追加するときに、重複するuid値を取得します。 ??? –
@AnasBenMansour OpenLDAPの「ユニークな」オーバーレイが必要です。 – EJP
同じDNを使用してOpenldapユーザーとADユーザーを認証する場合は、openldapサーバーからADサーバーにプロキシを追加する必要があります。
back_ldap
モジュールを使用して、ADデータベースをOpenldapデータベースのsubordinate
とする必要があります。
openldap/adにカスタム属性を追加して、ユーザーの一意性を確認することができます。ほとんどの場合、両側で共通の電子メール属性があります。
OpenLDAPはLDAPサーバーです。 ActiveDirectoryは別のものです。したがって、 'Active DirectoryとしてのOpenLDAPサーバへの接続'は無意味です。 OpenLDAPはバインド名として 'username @ domain'をサポートしていません。そのメールアドレスを持つユーザーのディレクトリを最初に検索し、そのエントリのDNをバインド名として使用する必要があります。 – EJP