Extending the Principal Store API (custom store access)

Various components of the ArcGIS Server security model communicate with the principal store (user and role store) using the Principal Store API. This API has been written in Java, and you can extend this API to communicate with any specific data store of your choice.

Principal Store API architecture

Please refer to the diagram below to understand the API architecture. The JavaDoc for the Principal Store API is also available as part of the ArcGIS Server Web ADF for Java API Documentation.

The Security.XML file contains configuration parameters (as key/value pairs) for the various stores. The SecurityFactory class used within the manager creates objects of type ArcGISSecurityStore with a particular implementation. The SecurityFactory class calls the init method on the implementation of ArcGISSecurityStore and passes a hash map of all the configuration parameters from the Security.XML. You can implement the init method to read the configuration parameters that your class requires to initialize itself.

How to extend the Principal Store API

  1. Implement the SecurityStore interface in your custom class.
  2. Add or edit properties in Security.XML file (as key/value pairs, using the Java properties class) required by your custom implementation. The Security.XML is present in the directory \ArcGIS\java\manager\service\lib.
  3. Copy the JAR files containing the custom store implementations to the directory ArcGIS\java\manager\config\security\lib.
  4. Restart the manager service.

11/18/2013