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

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

written-by

Liferay Support

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

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