Integration with a directory lets users authenticate using their directory username and password. Optionally, you can configure Openfire to load user profile and group information from the directory. Any group in Openfire can be designated as a shared group, which means that you can pre-populate user's rosters using directory groups.
It serves as a powerful tool for large organizations or those organizations integrating many applications to simplify user management issues. By default, Openfire stores all user data in its database and performs authentication using database lookups. Use a LDAP server to authenticate a user's identity. Load user profile information from a LDAP directory. Load group information from an LDAP directory. Openfire treats the LDAP directory as read-only.
These instructions assume that you're a competent LDAP user, and that you're familiar with Openfire setup issues.
The wizard along with in-line help will guide you through the rest of the process. Specific tips for working with Active Directory are noted below. If you have already completed the setup process but need to enable LDAP integration, you can re-run the setup tool. Restart Openfire and enter the setup tool. You'll be prompted for several LDAP fields when connecting to Active Directory servers, some of which are detailed below: If you're using a default Active Directory setup, all user accounts and groups are located in the "Users" folder under your domain.
To get more specific, say your domain is activedirectory. If you've customized where users are stored, you'll just need to replicate that folder structure using LDAP syntax. Therefore, you'll need to enter the DN of a user that's allowed to connect to the server and read all user and group data. Unless you've created a special user account for this purpose, an easy choice is to use the built-in administrator account.
It is possible to use many LDAP servers but all of them should share the same configuration e. SSL, baseDN, admin account, etc. To specify many LDAP servers use the comma or the white space character as delimiter. If this property is not set, the default value is The integer should be greater than zero.
An integer less than or equal to zero means no read timeout is specified which is equivalent to waiting for the response infinitely until it is received which defaults to the original behavior. The entire subtree under the base DN will be searched for user accounts. If set, the alternate base DN will be used for authentication, loading single users and displaying a list of users. Content in the base DN and the alternate DN will be treated as one. All directory operations will be performed with this account.
The admin must be able to perform searches and load user records. The user does not need to be able to make changes to the directory, as Openfire treats the directory as read-only. If this property is not set, an anonymous login to the server will be attempted. If this property is not set, the default value is uid. If this property is not set, the default value is cn.
Active Directory users should use the default value displayName. If this property is not set, the default value is mail. Active Directory users should use the the default value mail. If this property is not set, the username, name, and email fields will be searched. That searches the uid and cname fields in the directory and labels them as "Username" and "Name" in the search UI.
You should ensure that any fields used for searching are properly indexed so that searches return quickly. The default search filter is created using the attribute specified by ldap. The most common usage of a search filter is to limit the entries that are users based on objectClass. If this property is set to false, then sub-tree searching is disabled and users will only be loaded directly from the base DN.
Disabling sub-tree can improve performance, but it will fail to find users if your directory is setup to use sub-folders under the base DN. If this property is not set, the default value is member. If this property is not set, the default value is description. A value of "false" means that users are stored by their entire DN within the group. If this property is not set, the default value is false.
The posix mode must be set correctly for your server in order for group integration to work. Posix modes for common LDAP servers: The default group search filter is created using the attribute specified by ldap.
The most common usage of a search filter is to limit the entries that are groups based on objectClass. When on, trace information about buffers sent and received by the LDAP provider is written to System. LdapCtxFactory" will be used instead. Most users will not need to set this value. If this property is not set or is set to "false", the referral policy used is left up to to the provider.
A referral is an entity that is used to redirect a client's request to another server. A referral contains the names and locations of other objects. It is sent by the server to indicate that the information that the client has requested can be found at another location or locations , possibly at another server or several servers. If this property is not set, the default value is "true". Below is a sample config file section: By default, only the user with username "admin" is allowed to login.
However, you may have different users in your LDAP directory that you'd like to be administrators. The list of authorized usernames is controlled via the admin.
For example, to let the usersnames "joe" and "jane" login to the admin console: However, there are cases when this logic does not work -- for example, when a directory contains other objects besides users but all objects share "uid" as a unique identifier field.
In that case, you may need to specify a custom search filter using ldap. As an example, a search filter for all users with a "uid" and a "cn" value of "joe" would be: In that case, you must enter the search filter into the openfire.
You can set a custom initial context factory by adding the following to openfire. 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. For more information, see the following pages: