ProfileRequestServlet manages Profile information for the current session. If a Profile does not already exist for the active session, ProfileRequestServlet creates an instance of the atg/userprofiling/Profile component. While creating the Profile, ProfileRequestServlet creates a transient RepositoryItem and sets it to the Profile component dataSource property.

When a session begins, ProfieRequestServlet prompts the CookieManager to create a cookie containing the Profile ID of the current guest user. When a user logs in or registers, a second cookie created by the ProfileFormHandler with a different Profile ID representing the logged in user overwrites the first. If you’d prefer not to user cookies on your site, you can maintain user session data though an authentication process. To do so, enable Basic Authentication (verifyBasicAuthentication property). For more information on Basic Authentication, see Authentication.

You can set ProfileRequestServlet to maintain persistent information about guest visitors by setting persistentAnonymousProfiles to true. By doing so, you instruct the Oracle ATG Web Commerce server to create a persistent RepositoryItem for each new session. There might be circumstances where you do not want this to occur. For example, the session ends when a user logs out, and a new session begins where the user is recognized as a guest. Creating a persistent RepositoryItem might be unnecessary in this case. By default, a temporary RepositoryItem is created in this scenario, because persistAfterLogout is set to false.

ProfileRequestServlet can fire a login event when a user auto-logs in. It can also fire a login event when a persistent anonymous profile is created.

For a complete discussion on Profiles, cookies, the ProfileFormHandler and more detail on the properties mentioned here, see the ATG Personalization Programming Guide.