web-dev-qa-db-ja.com

私のベースDNであるLDAPサーバー

こんにちはopencaでユーザーを認証するために、LDAPテストサーバーを使用しようとしています。

私は現在phpldapadmin経由で接続しています:

ログインDN:cn = admin、dc = example、dc = com
パスワード:mypass

しかし、opencaでは何かが間違っています... datasources.xmlでldap構成の設定を見つけて、それを求めます

<name>basedn</name>

私のベースはどれですか?私はすでに試しました

cn=admin,dc=example,dc=com

そして

dc=example,dc=com

LDAP Admin ExplorerでもLDAPに接続できます。

ありがとう!

18
invader7

ベースDNはdc=example,dc=comです。

Opencaについては知りませんが、これまでにトラフィックがほとんどなかったので、この答えを試してみます。

ベースDNは、サーバーがユーザーを検索するポイントです。そのため、ログイン名としてadminを使用するだけです。

OpencaがほとんどのLDAP対応アプリケーションのように動作する場合、これが起こります。

  1. ユーザーadminのLDAP検索は、ベースdn(dc=example,dc=com)から始まるサーバーによって実行されます。
  2. ユーザーが見つかると、完全なDN(cn=admin,dc=example,dc=com)が使用され、指定されたパスワードとバインドされます。
  3. LDAPサーバーはパスワードをハッシュし、保存されているハッシュ値と比較します。一致すれば、あなたは入っています。

ステップ1を正しく行うことが最も難しい部分ですが、それは主に私たちが頻繁に行うことができないためです。構成ファイルで注意する必要があるものは次のとおりです。

  • アプリケーションがldapサーバーへのバインドに使用するdn。これは、ユーザーが認証を行う前に、アプリケーションの起動時に発生します。 cn=admin,dc=example,dc=comなどの完全なDNを指定する必要があります。
  • 認証方法。通常、これは「単純バインド」です。
  • ユーザー検索フィルター。 objectClassユーザーのadminという名前の属性を見てください。 inetOrgPersonまたはuserのいずれかになります。 topのような他のものがありますが、無視できます。 openca設定では、(objectClass=inetOrgPerson)のような文字列が必要です。それが何であれ、それが管理ユーザーのオブジェクトクラスと一致することを確認してください。この検索フィルター(|(objectClass=inetOrgPerson)(objectClass=user))で2つのオブジェクトクラスを指定できます。

Apache's Directory Studio などのLDAPブラウザーをダウンロードします。アプリケーションの資格情報を使用して接続すると、アプリケーションに表示される内容が表示されます。

26
ixe013