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 |