Continuum support LDAP for authentication. To configure it, you should follow these steps:
<!--
Ldap Authentication can be enabled by setting enabling these components and setting the following configuration options in your security.properties file
user.manager.impl=ldap
ldap.bind.authenticator.enabled=true
redback.default.admin=admin
redback.default.guest=guest
security.policy.password.expiration.enabled=false
until this process is better documented, the following is the document for configuration ldap with redback
http://redback.codehaus.org/integration/ldap.html
-->
<!--
this component manages the connection to the ldap server
* hostname - The hostname of the ldap server
* port - The port of the ldap server
* baseDn - The baseDn of the ldap system
* contextFactory - context factory for ldap connections
* password - password for the bindDn for the root ldap connection
* bindDn - the core user used for authentication the ldap server, must be able to perform the necessary searches, etc.
-->
<!-- component>
<role>org.codehaus.plexus.redback.common.ldap.connection.LdapConnectionFactory</role>
<role-hint>configurable</role-hint>
<implementation>org.codehaus.plexus.redback.common.ldap.connection.ConfigurableLdapConnectionFactory</implementation>
<description></description>
<configuration>
<hostname></hostname>
<port></port>
<baseDn></baseDn>
<contextFactory>com.sun.jndi.ldap.LdapCtxFactory</contextFactory>
<password></password>
<bindDn></bindDn>
</configuration>
</component-->
<!--
this component manages the mapping of attributes in ldap to user information in redback
* email-attribute - The name of the attribute on a user that contains the email address
* full-name-attribute - The name of the attribute on a user that contains the users fullName
* password-attribute - The name of the attribute containing the users password, used for the authentiction using the user manager and not the ldap bind authenticator
* user-id-attribute - The name of the attribute containing the users userId, most commonly cn or sn.
* user-base-dn - The base dn that will be subtree searched for users.
* user-object-class - the objectClass used in the ldap server for indentifying users, most commonly inetOrgPerson.
-->
<!-- component>
<role>org.codehaus.plexus.redback.common.ldap.UserMapper</role>
<role-hint>ldap</role-hint>
<implementation>org.codehaus.plexus.redback.common.ldap.LdapUserMapper</implementation>
<description></description>
<configuration>
<email-attribute>email</email-attribute>
<full-name-attribute>givenName</full-name-attribute>
<password-attribute>userPassword</password-attribute>
<user-id-attribute>cn</user-id-attribute>
<user-base-dn>o=com</user-base-dn>
<user-object-class>inetOrgPerson</user-object-class>
</configuration>
</component-->
<!--
If caching is desired then make uncomment this and make sure the following configuration parameter is in the security.properties
user.manager.impl=cached
-->
<!-- component>
<role>org.codehaus.plexus.redback.users.UserManager</role>
<role-hint>cached</role-hint>
<implementation>org.codehaus.plexus.redback.users.cached.CachedUserManager</implementation>
<description>CachedUserManager</description>
<requirements>
<requirement>
<role>org.codehaus.plexus.redback.users.UserManager</role>
<role-hint>ldap</role-hint>
<field-name>userImpl</field-name>
</requirement>
<requirement>
<role>org.codehaus.plexus.ehcache.EhcacheComponent</role>
<role-hint>users</role-hint>
<field-name>usersCache</field-name>
</requirement>
</requirements>
</component-->
<!--
if using the user manager authenticator to authenticate the user and not the ldap bind authenticator make sure
this definition has the correct password encoder
Note: you should probably just use the ldap bind authenticator which is enabled by putting
ldap.bind.authenticator.enabled=true
in the security.properties
-->
<!-- component>
<role>org.codehaus.plexus.redback.policy.UserSecurityPolicy</role>
<role-hint>default</role-hint>
<implementation>org.codehaus.plexus.redback.policy.DefaultUserSecurityPolicy</implementation>
<description>User Security Policy.</description>
<requirements>
<requirement>
<role>org.codehaus.plexus.redback.configuration.UserConfiguration</role>
<field-name>config</field-name>
</requirement>
<requirement>
<role>org.codehaus.plexus.redback.policy.PasswordEncoder</role>
<role-hint>sha1</role-hint>
<field-name>passwordEncoder</field-name>
</requirement>
<requirement>
<role>org.codehaus.plexus.redback.policy.UserValidationSettings</role>
<field-name>userValidationSettings</field-name>
</requirement>
<requirement>
<role>org.codehaus.plexus.redback.policy.CookieSettings</role>
<role-hint>rememberMe</role-hint>
<field-name>rememberMeCookieSettings</field-name>
</requirement>
<requirement>
<role>org.codehaus.plexus.redback.policy.CookieSettings</role>
<role-hint>signon</role-hint>
<field-name>signonCookieSettings</field-name>
</requirement>
<requirement>
<role>org.codehaus.plexus.redback.policy.PasswordRule</role>
<field-name>rules</field-name>
</requirement>
</requirements>
</component-->
All you need to configure is the ConfigurableLdapConnectionFactory and LdapUserMapper components
user.manager.impl=ldap ldap.bind.authenticator.enabled=true redback.default.admin=adminuser redback.default.guest=guestuser security.policy.password.expiration.enabled=false user.manager.impl=cached ldap.bind.authenticator.enabled=true
adminuser is a LDAP user and will be the default Continuum admin. guestuser is a LDAP user and will be used for the guest role, generally, it is an utility LDAP account.