Clearspace LDAP GuideThis document explains how to configure Clearspace to integrate with an LDAP or Active Directory repository. OverviewLDAP (Lightweight Directory Access Protocol) has emerged as a dominant standard for user authentication and for storage of user profile data. It serves as a powerful tool for large organizations (or those organizations integrating many applications) to simplify user management issues. By default, Clearspace stores all user data in a database and performs authentication using database lookups. When you select LDAP as the authentication system, you're replacing that functionality and allowing Clearspace to use an LDAP server to authenticate a user's identity. This topic will guide you through preparing your LDAP server and provide details about how to use LDAP with Clearspace. These instructions assume that you're a competent LDAP administrator, and that you're familiar with the Clearspace admin console. Any LDAP-compliant server should work, including Active Directory.
Choosing LDAP During SetupThe Clearspace setup tool will guide you through configuring Clearspace for use with LDAP. If you've already completed the setup process and need to use the tool again to configure LDAP, perform the following steps:
Getting Debugging MessagesWhen you need to, you can turn on verbose debugging inside the Clearspace application. Clearspace provides a fair number of debug messages. To enable this, turn on the debug log via the Log Viewer in the admin console. (In the console, go to System > Management > Log Viewer, click Enabled, then click Update. You'll need to restart the application server for this to take effect.) It is recommended that you run this only in a development or test environment because it will generate quite a large amount of debug information and will impact performance. Once debug messages are enabled, watch the jive.debug.log. It should detail the steps it's going through to load users and authenticate them, as well as any errors it may run into. (You can view, download or email the debug log from within the admin console at the Log Viewer page described above.) Setting a Custom Initial Context FactorySome LDAP servers or application servers might require that a different LDAP initial context factory be used rather than the default (com.sun.jndi.ldap.LdapCtxFactory). You can set a custom initial context factory by adding the following to jive_startup.xml: <ldap>
... other ldap settings here
<initialContextFactory>com.foo.factoryClass</initialContextFactory>
</ldap>
Disabling Connection PoolingThe default LDAP provider (provided by Sun Microsystems) supports pooling connections to the LDAP server. Connection pooling can greatly improve performance, especially on systems with high load. Connection pooling is enabled by default, but can be disabled by setting the Jive property ldap.connectionPoolEnabled to false: <ldap>
... other ldap settings here
<connectionPoolEnabled>false</connectionPoolEnabled>
</ldap>
You might want to set Java system properties to change default pool settings. For more information, see the following pages: http://java.sun.com/products/jndi/tutorial/ldap/connect/pool.html Note that if you turn on LDAP debugging, connection pooling will not be enabled. If SSL LDAP mode is enabled, you must set a system property to enable pooling of SSL LDAP connections. |