メインコンテンツにスキップ

LDAPサーバー

多くのシステムは、Nexusのように、LDAP認証をサポートしています。 Casdoorは、bindおよびsearch操作をサポートするシンプルなLDAPサーバーも実装しています。

このドキュメントでは、CasdoorでLDAPサーバーに接続し、シンプルなログイン認証を実装する方法について説明します。

LDAPサーバーポート

LDAPサーバーはデフォルトでポート389でリッスンしています。 デフォルトポートは、conf/app.confldapServerPort値を変更することで変更できます。

仕組み

CasdoorのLDAPクライアントと同様に、LDAPサーバー内のユーザーはすべてposixAccountのサブクラスです。

サーバーがLDAPによって送信されたデータセットを受信すると、cnouを解析します。ここでcnはユーザー名を表し、ouは組織名を表します。 dcは関係ありません。

bind操作の場合、サーバーはCasdoorを使用してユーザー名とパスワードを検証し、Casdoor内でユーザーに権限を付与します。

search操作の場合、サーバーはbind操作によってクライアントに付与された権限に基づいて、search操作が合法かどうかをチェックし、応答を返します。

情報

私たちはシンプル認証のみをサポートしています。

バインド方法

Casdoor LDAPサーバーでは、この形式に似たDNのみを認識します:cn=admin,ou=built-in,dc=example,dc=com

管理ユーザーのDNを上記の形式に設定してください。 その後、このDNを使用してユーザーのパスワードでLDAPサーバーにバインドし、Casdoorで検証にログインできます。 サーバー検証が成功すると、ユーザーはCasdoor内で権限を付与されます。

検索方法

bind操作が成功すると、search操作を実行できます。 search操作とbind操作にはいくつかの違いがあります。

  • 特定のユーザーを検索するには、たとえばbuilt-in組織の下のAliceを検索するには、このようなDNを使用する必要があります:ou=built-in,dc=example,dc=com、そしてフィルターフィールドにcn=Aliceを追加します。
  • 特定の組織の下のすべてのユーザーを検索するには、たとえばbuilt-inのすべてのユーザーを検索するには、このようなDNを使用する必要があります:ou=built-in,dc=example,dc=com、そしてフィルターフィールドにcn=*を追加します。
  • すべての組織のすべてのユーザーを検索するには(ユーザーに十分な権限があると仮定して)、このようなDNを使用する必要があります:ou=*,dc=example,dc=com、そしてフィルターフィールドにcn=*を追加します。
  • To search for all users in a specific group, you should use a filter query like this: (memberOf=organization_name/group_name) in the Filter field.