Just-In-Time User Creation for LiveCycle ES3 SP1 Connector for SharePoint

Some environments require multiple users to access LiveCycle servers for certain SharePoint operations; LiveCycle requires users with specific roles to perform such SharePoint operations. Traditionally, administrators used to create specific users and assign specific roles to the users for such SharePoint operations. In this blog, I have shared a JAR file that creates LiveCycle users with specific roles on the fly. This JAR eliminates the need for creating users, manually.

The client jar file adobe-connectorformssharepoint-client.jar for LiveCycle ES3 SP1 contains an interface com.adobe.livecycle.crc.sharepoint.client.JITUserCreationCall to support Just-in-Time user creation for the SharePoint DSC operation

You can modify sample implementation and you may also choose to create your own implementation of this feature.


To successfully invoke an operation, like Secure with Adobe Policy, from the SharePoint Web Application, the invoking user must exist in LiveCycle Server and should also have Services User role assigned to it.


I have created a sample DSC, shared in this blog that creates a LiveCycle user with the same name as that of the user invoking operation on SharePoint and assigns  Services User role to the user.  The sample DSC contains an implementation for the method createUser(..) of the interface JITUserCreationCall in class named DscTest.java

Sample DSC works in following logical order:

  1. A user invokes an operation from SharePoint.
  2. Sample DSC verifies existence of invoking SharePoint users on the LiveCycle Servers.
  3. If a user with the same name exists, then the required operation is carried out without invoking the implementation.
  4. If a user with the same name does not exist, then LiveCycle attempts to locate the implementation of interface JITUserCreationCall.
    1. On successfully locating the implementation, the call is redirected to the it. For example, for our shared sample DSC call is directed to createUser method.
    2. The createUser method creates a LiveCycle user with the same name as that of the user invoking operation on SharePoint and assigns Services User role to the user.
    3. The operation requested from SharePoint is carried out.
    4. Suitable message is passed on to SharePoint.

You can see LiveCycle application server log for the progress.

Flowchart, Sample Solution workflow, explains the process in the detail:

Workflow: Sample Solution

Workflow: Sample Solution



Before installing Sample DSC on LiveCycle Sever, ensure that:

  • LiveCycle ES3 SP1 is installed and configured with SharePoint Server.
  • Web Part for the Adobe LiveCycle Connector for SharePoint is installed on the SharePoint Server.
    Installer for Web Part is available at <LiveCycle_Install_DIR/plugins/SharePoint.
  • Rights Management Policy Set and Policy name are added. If not, follow below steps:
    1. Open SharePoint Web Application.
    2. Navigate to Site Settings ->LiveCycle Settings.
    3. Add Rights Management Policy Set and Policy name. Click Apply.

Install Sample DSC

1.)    Log in to workbench.
2.)    Open Components View.
3.)    Right click root node named Components, click Install Components
4.)    From the Install Component dialog box, choose the file dsc-sample.jar and then click OK.

Install Components

Install Components

5.)    By default, SampleDSC is in stopped state. To start the DSC, right click the DSC and select Start Component.

Start Components

Start Components


1.)    Open SharePoint Web Application to start Secure with Adobe Policy operation.
2.)    Go to a Document Library. For example, go to Shared Documents.
3.)    Right click a PDF document and select Secure with Adobe Policy.

Secure with Adobe Policy

Secure with Adobe Policy

A policy protected document is created. For unsuccessful operations, an error message is displayed.

For example, for a user named ‘admin’, Application server log would contain following information:

[STDOUT] (http- no: of service providers :1

[STDOUT] (http- service provider :SampleDscTest

[STDOUT] (http- *********************************************

[STDOUT] (http- User Details : {userName=admin}

[STDOUT] (http- *********************************************

[STDOUT] (http- *********************************************

[STDOUT] (http- User [admin] Created Successfully

[STDOUT] (http- *********************************************

[STDOUT] (http- *********************************************

[STDOUT] (http- Successfully assigned ‘Services User’ role to user : [admin]

[STDOUT] (http- *********************************************


Download compressed file sampleDSC.zip for Source code and JAR files of Sample DSC. You can use sample code to create your own implementation.

Feel free to ask any questions.



Pankaj Gakhar

This entry was posted in Adobe LiveCycle ES3 and tagged , , . Bookmark the permalink.

Comments are closed.