Contents
When you have your own LDAP or Active Directory repository, you can configure your community to integrate with it.
You can use LDAP (Lightweight Directory Access Protocol), including Active Directory, for authenticating users. A standard for user authentication and for storing user profile data, LDAP is a powerful tool for large organizations (or organizations integrating many applications) to simplify user account management.
By default, the application doesn't use LDAP. Instead, it stores all user data in a database and performs authentication with that data. When you select LDAP instead as the authentication system, you're asking that the application authenticate against your LDAP server. During setup, you specify which users and groups from LDAP you want the application to use (although you needn't use groups defined in LDAP). Jive SBS will query your LDAP server to ensure that users and groups (if you want) are nominally represented in the application database (so that users can be associated with content), but will authenticate against your LDAP server.
This topic will guide you through configuring the application to use your LDAP server for authentication. These instructions assume that you're a competent LDAP administrator and that you're familiar with the admin console. Any LDAP-compliant server should work, including Active Directory.
As you use the setup tool to configure the application to use LDAP, you can make specific settings to meet your needs. The tool's three-step wizard includes separate steps for specifying which users to include and specifying which groups (if any) to include.
Here are a few common scenarios. You'll find more details below on how to get these results.
If you've just installed, the setup tool will run the first time you access the application. If you've already completed the setup process and need to use the tool again to configure LDAP, do the following:
Through three screens in the setup tool, you give information for connecting to the server, for querying for users, and how groups should be handled. At the outset, you choose a server type, such as Active Directory or OpenLDAP.



| Option | Active Directory | OpenLDAP |
|---|---|---|
| Username Field | sAMAccountName | uid |
| Name Field | cn | cn |
| First Name Field | givenName | givenName |
| Last Name Field | sn | sn |
| Email Field | ||
| User Filter | (sAMAccountName={0}) | (uid={0}) |
The application will use these values to query your LDAP server to retrieve information about the people who will be using the application.
| Property | Value |
|---|---|
| ldap.firstNameField | givenName |
| ldap.lastNameField | sn |
| jive.user.lastname.firstname.enabled | true |
The default values will include all users found with the connection settings you gave. You can limit this to only certain users by using an LDAP filter expression. For example, to retrieve only those users who work at the Portland office, you could enter something like the following in the User Filter box:
(&(physicalDeliveryOfficeName=Portland))

| Option | Active Directory | OpenLDAP |
|---|---|---|
| Group Field | cn | cn |
| Member Field | member | member |
| Description Field | description | description |
| Member Field | memberOf | (Depends on installation.) |
| Group Filter | (objectClass=group) |
Use the Member Field option as a way to increase performance. When your LDAP installation provides a way to have user objects be aware of the groups each user is a member of, giving the user object's "member of" attribute provides a more efficient (and faster) way for the application to get the list of groups a user is in.
Jive SBS will use these values to query your LDAP server to retrieve information about the groups to use. The default values will include all groups found with the connection settings you gave. You can limit this to only certain groups by using an LDAP filter expression.
Click Test Settings if you're choosing to use LDAP groups; this will confirm that the values you entered are valid for your LDAP server. When you get a successful test, click Continue.
Click Continue if you're choosing to define groups in the application.
You can get LDAP-specific debug information by selecting Yes for Enable Debug in the setup tool's Step 3: Connection Settings page.
You can also get broader debug information by turning on verbose debugging inside the application. Jive SBS 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.) Due to the large amount of debug information this can generate (and the performance impact that has), you should run this only while developing or testing.
Once you've enabled debug messages, watch the jive.debug.log file. It should describe the steps it's going through to load users and authenticate them, as well as any errors it might run into. (You can view, download or email the debug log from within the admin console at the Log Viewer page described above.)
Some 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>your.FactoryClassName</initialContextFactory> </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
http://java.sun.com/products/jndi/tutorial/ldap/connect/config.html
If you know that only some of the users in your LDAP database should be known to the application, one way to get that subset is to create an LDAP group (such as "Jive SBS users"), then filter off that group attribute for users. Here's an example:
(&(sAMAccountName={0})(memberOf=CN=applicationUsers,OU=ExampleGroups,DC=example,DC=com))
This way you don't have to create any new OUs or move records around. You can simply modify group membership attributes on the user, something the LDAP administrator can do.