環境によっては、LDAPサーバーからユーザーの連絡先情報をインポートすることが望ましい場合がある。 Microsoft Active DirectoryのLDAPサーバーから、以下のプロパティを使用して、コンタクトマッピングだけでなく、カスタムマッピングをインポートする方法について説明します:
ldap.contact.mappings.0=
ldap.user.custom.mappings.0=
** .0 で終わるプロパティは、 0という LDAP サーバーに対して設定されていることを示します。 portal-ext
に複数の LDAP サーバーを設定することができ、この部分は、プロパティがどのサーバーに属するかを示す。
簡単な例です:
ldap.server.ids=0,1
ldap.server.name.0=Win2008-Server
ldap.server.name.1=ApacheDS
この機能を使用するためには、ポータルがportal-ext.propertiesファイルを介してLDAPに接続する必要があることに注意してください。 コントロールパネルのGUIから接続すると、接続値がデータベースに書き込まれ、portal-extより優先される。
解像度
LDAP で Liferay Instance を起動する前に:
- portal-ext.propertiesファイルに、以下のLDAPプロパティを記述します:
(ただし、接続のマッピングは設定によって異なる場合があります)。
ldap.auth.enabled=true ldap.import.enabled=true ldap.import.on.startup=false ldap.base.provider.url.0=ldap://LDAP_IP_ADDRESS:389 ldap.base.dn.0=dc=windows2008r2,dc=ntlm ldap.security.principal.0=cn=Administrator,cn=Users,dc=windows2008r2,dc=ntlm ldap.security.credentials.0=liferay ldap.auth.search.filter.0=(sAMAccountName=@screen_name@) ldap.import.user.search.filter.0=(objectClass=person) ldap.user.mappings.0=screenName=sAMAccountName\npassword=userPassword\nemailAddress=mail\nfullName=cn\nmiddleName=middleName\nfirstName=givenName\nlastName=sn\ngroup=memberOf ldap.import.group.search.filter.0=(objectClass=group) ldap.group.mappings.0=groupName=cn\ndescription=sAMAccountName\nuser=member ldap.contact.custom.mappings.0=ldap.contact.mappings.0=skypeSn=employeeTypeldap.user.custom.mappings.0=Telephone=telephoneNumber
太字の2つのプロパティは、コンタクトとカスタムフィールドのマッピングを指しています。
- ポータルを起動し、管理者ユーザーとしてログインする
- コントロールパネル > 認証 > LDAPにアクセスします。 有効]チェックボックスにチェックを入れ、[保存]をクリックします。
- コントロールパネル > 認証 ページで、ドロップダウンメニューを設定し、ユーザーがスクリーンネームで認証できるようにします。
- LDAPサーバーに移動します。
- LDAPテキストエディターでディレクトリを開く。
-
TEST_USER
という名前のユーザーを作成します。 ユーザーがインポートできるように、適切な情報をすべて与えるようにしてください:姓、名、パスワード、メールアドレス、スクリーンネーム
- ユーザーのプロパティを開き、「employeeType」というフィールドを見つけます。 編集をクリックし、値を「Joe Bloggs」に設定します。 [Save]をクリックします。
- 次に、「telephoneNumber」フィールドまでスクロールダウンします。 このフィールドを編集して、値を「55555555」に設定します。
- Liferay Portal で Control Panel > Custom Fields > User > Add New Fieldにアクセスします。 Telephoneという名前を記入し、ドロップダウンメニューでText Boxが選択されていることを確認します。
- 新しいフィールドをクリックします。 テストボックスが見えるように、高さを100、幅を200に調整してください。 [Save] をクリックします。
- ここで、adminユーザーでサインアウトし、
TEST_USER
、パスワードでサインインします。 ユーザーがインポートされます。 彼が完全にサインインしたら、サインアウトしてください。 - 管理者ユーザーとしてサインインし直し、 コントロールパネル > ユーザーと組織にアクセスします。
TEST_USER
をクリックします。 - 右側のメニューの一番下の方にある「カスタムフィールド」タブに移動します。 電話番号がインポートされていることを確認する。
- 右側のメニューの真ん中あたりで、「Instant Messenger」タブを開きます。 Skypeの欄に「Joe Bloggs」と表示される。
追加情報
使用するコンタクト属性のリストについては、 com.liferay.portal.model.ContactModel
を参照してください。
注:この記事では ldap.contact.mappings.0=skypeSn=employeeType
を使用しましたが、空のLDAPマッピングであれば、employeeTypeの代わりに使用することができます。