この記事はLightweight Directory Access Protocol (LDAP) を使用して Liferay DXPのユーザー管理をする際によくある質問をまとめています。特にこの記事では、この製品バージョンの設定に関する質問を記載しています。
詳細
Q: 「LDAP設定する時、インスタンス設定で行うのと、コントロールパネル内システム設定で行う違いは何ですか。」
A: 大抵のLDAP設定はインスタンス設定内で行えますが、システム設定からのみ使用できる設定パラメーターがあります。以前のLiferay Portalバージョンでは、 LDAPのシステムスコープ設定の一部は portal.properties
ファイルで設定され portal-ext.properties
を使って調整されていました。Liferay Digital Enterprise 7.0ではシステム設定を次の設定を変更します:
-
LDAP Auth
-
LDAP Export
-
LDAP Import
-
LDAP Servers
-
System LDAP Configuration
最後に、システム設定で設定したものは、ある一定のタイミングまで全てのインスタンスを制御します。たとえば仮想インスタンスAが変更を加える前に存在していた場合、(例:エラーパスワード履歴キーワード)、仮想インスタンスAにはこの変更が反映されません。しかし、仮想インスタンスBが変更後に作成されると、仮想インスタンスB(Aではなく)更新されたエラーパスワード履歴キーワードが反映されます。
Q: ユーザーがDXPでパスワードを変更する場合、システム管理者はどのようにLDAPを更新しますか?言いかえると、、パスワードが変更された時リスナーはどのように実際のパスワード(ハッシュ値ではなく)を取得しますか?
A:解決策の一つとして、カスタムモジュールまたはポートレットを作成しコントロールパネル内で変更したパスワードを渡し、MS Active DirectoryなどのLDAPサーバーにインポートする方法があります。パスワードへの変更はSSL上で行う必要があるため、二つのサーバーはSSL経由での通信が必須です。 bnd.bnd
ファイル内で下記を入力します:
Import-Package:\
javax.net.ssl,\
*
リスナーはこのクラスを使用して、暗号化されていないパスワードを取得します : user.getPasswordUnencrypted()
.
Q:「インポートを有効にする」と 「インポートを起動時に有効にする」の違いは何ですか?
A:これらは二つの異なるプロセスなので、同時に有効にはできません。数百万人とまではいかないにせよ、数万人規模ユーザーがいる場合でもそれぞれのプロセスはCPUリソースを大きく消費します。「インポートを有効にする」オプションは一般的にLDAP サーバーからユーザーをインポートします。「インポートを起動時に有効にする」オプションは起動した(または再起動した)LDAPサーバーからユーザーをインポートします。
管理者は、ノードが起動するたびに大量のインポートが起こらないよう、クラスター環境内ではインポートを無効にすることを考慮してください。