legacy-knowledge-base
公開されました Jul. 2, 2025

インポート処理中に属性を無視するLDAPの設定

投稿者

Liferay Support

knowledge-article-header-disclaimer-how-to

knowledge-article-header-disclaimer

legacy-article

learn-legacy-article-disclaimer-text

LDAPユーザーインポート時に、特定のLDAP属性を無視する方法について説明します。

Liferay Portalの情報をユーザーが変更することがあります。 次にスケジュールされたLDAPインポートが実行されると、ユーザーによる変更が上書きされます。 変更が上書きされないようにするため、ユーザーはportal-ext.propertiesファイルでどの属性を無視するかを定義することができます。

さらに詳しく見るには、 PortalLDAPImporterImpl.javaの関数 updateUserの下にある UserLocalServiceUtil.updateUser の関数呼び出しに、利用できる属性のリストがあります。 接頭辞の "get "と "is "を取り除くと、属性が定義されます。 例えば、 getEmailAddressの場合、属性は "contact.EmailAddress"となる。 これらの属性は、"contact "を先頭に付ける必要があります。 contact」を追加しなければならない理由は、プロパティが LDAPUser#contact.xxxxxxとしてビーンに登録されたからです。

以下は、属性を指定した関数呼び出しです:

user = UserLocalServiceUtil.updateUser(

user.getUserId(), password, StringPool.BLANK, StringPool.BLANK,

passwordReset, ldapUser.getReminderQueryQuestion(),

ldapUser.getReminderQueryAnswer(), ldapUser.getScreenName(),

ldapUser.getEmailAddress(), ldapUser.getFacebookId(),

ldapUser.getOpenId(), ldapUser.getLanguageId(),

ldapUser.getTimeZoneId(), ldapUser.getGreeting(),

ldapUser.getComments(), ldapUser.getFirstName(),

ldapUser.getMiddleName(), ldapUser.getLastName(),

ldapUser.getPrefixId(), ldapUser.getSuffixId(), ldapUser.isMale(),

birthdayMonth, birthdayDay, birthdayYear, ldapUser.getSmsSn(),

ldapUser.getAimSn(), ldapUser.getFacebookSn(), ldapUser.getIcqSn(),

ldapUser.getJabberSn(), ldapUser.getMsnSn(),

ldapUser.getMySpaceSn(), ldapUser.getSkypeSn(),

ldapUser.getTwitterSn(), ldapUser.getYmSn(), ldapUser.getJobTitle(),

ldapUser.getGroupIds(), ldapUser.getOrganizationIds(),

ldapUser.getRoleIds(), ldapUser.getUserGroupRoles(),

ldapUser.getUserGroupIds(), ldapUser.getServiceContext())

ユーザーは、Javaのクラスやメソッドを修正することを強くお勧めします。

解像度

  1. portal.propertiesの中で、利用可能な属性がどのように記載されているかを、ユーザーは確認することができます:
    Set the user attributes that are controlled from the portal. When adding
    	# or updating a user from LDAP, these attributes will be skipped.
    	#
    	ldap.user.ignore.attributes=
    	#ldap.user.ignore.attributes=aimSn,comments,facebookId,facebookSn,greeting,icqSn,jabberSn,jobTitle,languageId,msnSn,mySpaceSn,openId,prefixId,reminderQueryAnswer,reminderQueryQuestion,skypeSn,smsSn,suffixId,timeZoneId,twitterSn,ymSn
    	
  2. ldap.user.ignore.attributes= のプロパティをコピーして portal-ext.properties にコピーします。
  3. 無視するプロパティを追加する:例: ldap.user.ignore.attributes=contact.EmailAddress
  4. ファイルを保存します。
  5. ポータルを起動します。 次回のLDAPインポート時に、LDAPプロセスはportal-ext.propertiesで定義されたこれらの属性を無視します。
did-this-article-resolve-your-issue

legacy-knowledge-base