The JNDI!PrincipalStore is a read-only Store implementation for retrieving Slide users and roles from an LDAP server. It has been tested with Novell's eDirectory version 8.6.2. Other LDAP servers should work.


To use this Store your app server must be setup to authenticate users using the LDAP server. For Tomcat 5 see this. You cannot use the SlideRealm to authenticate users because this Store does not expose a password property.

Store Parameters

Parameters used in Domain.xml when setting up the Store.









This Store makes use of EHCache. You will need ehcache.jar in order to use this Store. When initialized the default CacheManager is used to find a Cache named "!PrincipalStore". If there is no Cache found with this name then a Cache is created with these default values:

To override these values you will need to create a configuration file for EHCache with a cache named "!PrincipalStore" that has the settings you wish. See the documentation at the EHCache website for instructions.

Cache Refreshing

Because the data delivered by this Store is managed externally to Slide the data cache must be periodically expired to pick up any changes. Because creating object Nodes can take a long time for LDAP queries that return a lot of objects, larger queries need to be preemptively refreshed before a user makes a request to an expired object.

The retrieveObject() and retrieveNodeDescriptor() methods monitor the amount of time it takes them to return for each Uri. If the method takes longer than a specified amount of time (configured with the cache.refresh.threshold parameter) the Uri is marked as needing to be refreshed. Upon initialization the Store spawns a child thread that periodically checks for Uris that need to be refreshed.

JNDIPrincipalStoreSetup (last edited 2009-09-20 22:02:38 by localhost)