Contents

Introduction

This article explains the usage of custom login and participant synchronization providers for integrating a user base in an external repository with the Stardust AuditTrail. It is assumed that the reader has a basic understanding of the Synchronization provider mechanism exposed in Stardust.

Note: All artifacts referenced in this article may be downloaded from here.

Note that ExternalRepositoryWrapper is a facade used for all required communication with the external user repository. It encapsulates the repository connection details (whether LDAP or DB or properties file) and abstracts this away from the Stardust runtime.

Note that the overridden method getModelParticipantsGrants creates a GrantInfo object for each user role that includes a department list fetched from the external repository. The Stardust runtime calls the overridden method provideDepartmentConfiguration for each department encountered in the GrantInfo object returned.

Note: For completeness, an implementation of the the ExternalRepositoryWrapper class that uses static data has been provided here. In practice this class would interact with LDAP repository or a database to fetch user and participant information.

Running the Example

Setup a RAD project,and include the downloaded Login and Participant Sync Provider clases. Once the Stardust portal is up and running, follow the instructions given below:

Deploy downloaded model with user "motu" as usual through the RAD environment or via the Model Management view of the Administration perspective of the portal.

Login with user id/password "emp3/emp3". Once login is successful, this user will be synced with its departments into the AuditTrail database.

To make sure this user (emp3, named as "RaviShankar") is synchronized with its departments, login with user "motu", go to the Participant Management view and see if this user is assigned to the scoped role employee, under the department USA->NYC->Manhattan.