The /atg/userprofiling/ProfileItemFinder component is used by the Personalization module to locate users given the values of their login, password, first name, last name, or email attributes. For example, when a user logs in using a profile form handler, the supplied username and password are passed on to ProfileItemFinder in order to locate the user in the profile repository.
By default, ProfileItemFinder is configured as a component of type atg.userprofiling.RepositoryProfileItemFinder. The RepositoryProfileItemFinder class finds a profile by performing a query against the profile repository. However, with the profile data split between the SQL and LDAP repositories, ProfileItemFinder may need to query the SQL repository in some cases and LDAP repository in others. For example, if the login and password properties are stored in LDAP, but the email property is stored in SQL, then the ProfileItemFinder must query the LDAP repository to find users by login/password, but it must query the SQL repository to find users by email.
When your profile data is split between two linked repositories, you should override the ProfileItemFinder configuration so that it uses the class atg.userprofiling.RepositoryLinkProfileItemFinder. This class extends RepositoryProfileItemFinder and allows queries to be performed against both repositories.
With this configuration, the ProfileItemFinder component has the following properties:
Property | Description |
|---|---|
| A pointer to the |
| A pointer to the |
| The main profile repository. This is set to the SQL repository component, / |
| The repository that is linked to the main profile repository. Set this to your LDAP repository component, for example |
| The name of the property in the SQL profile repository that points to the item in the linked repository. For example, if your SQL repository has an |
| The mapping between the main profile repository’s profile types and the corresponding linked repository’s profile types. For example, if both your SQL and LDAP repositories have a single |
| The name of the property used to link against in the SQL repository. This name is the same as the value of the |
| The name of the property used to link against in the LDAP repository. This name is the same as the value of the |
| The name of the If the |
| The name of the |
| The name of the |
| The name of the |
| The name of the |
| If true, and a profile is found in the linked repository but not in the main profile repository, the local profile is created, with its link property (specified via This property is useful in a situation where you have an existing directory of LDAP users, and you would like the corresponding SQL profiles to be created automatically when the users log in. Since the |

