|
Jive Forums API (5.5.20.2-oracle) Developer Javadocs | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jivesoftware.base.ldap.LdapManager
public class LdapManager
Centralized administration of LDAP connections. The getInstance() method should be used to get an instace. The following Jive properties correspond to the properties of this manager:
The LDAP module operates in one of two modes:
Field Summary | |
---|---|
static int |
ALL_LDAP_MODE
The mode for storing all user data in LDAP, including Jive-specific data. |
static java.lang.String |
LDAP_ADMIN_PASSWORD
|
static java.lang.String |
LDAP_ADMIN_PASSWORD_ENCRYPTED
|
static java.lang.String |
LDAP_ADMIN_PASSWORD_KEY
|
static int |
LDAP_DB_MODE
The mode for storing only critical user data in LDAP (username, name, and email) and all other Jive-specific user data in the normal database tables. |
Method Summary | |
---|---|
boolean |
checkAuthentication(java.lang.String userDN,
java.lang.String password)
Returns true if the user is able to successfully authenticate against the LDAP server. |
java.lang.String |
findUserDN(java.lang.String username)
Finds a user's dn using their username. |
java.lang.String |
findUserDN(java.lang.String username,
java.lang.String baseDN)
Finds a user's dn using their username in the specified baseDN. |
java.lang.String |
getAdminDN()
Returns the starting admin DN that searches for admins will performed with. |
java.lang.String |
getAdminPassword()
Returns the starting admin DN that searches for admins will performed with. |
java.lang.String |
getAlternateBaseDN()
Returns the alternate starting DN that searches for users will performed with. |
java.lang.String |
getBaseDN()
Returns the starting DN that searches for users will performed with. |
javax.naming.directory.DirContext |
getContext()
Returns a DirContext for the LDAP server that can be used to perform lookups and searches using the default base DN. |
javax.naming.directory.DirContext |
getContext(java.lang.String baseDN)
Returns a DirContext for the LDAP server that can be used to perform lookups and searches using the specified base DN. |
java.lang.String |
getEmailField()
Returns the LDAP field name that the user's email address is stored in. |
java.lang.String |
getGroupDescriptionField()
Return the field used to describe a group. |
java.lang.String |
getGroupMemberField()
Return the field used to list members within a group. |
java.lang.String |
getGroupNameField()
Returns the field name used for groups. |
java.lang.String |
getGroupSearchFilter()
Return the field used as the search filter when searching for groups. |
java.lang.String |
getHost()
Returns the LDAP server host; e.g. |
static LdapManager |
getInstance()
Provides singleton access to an instance of the LdapManager class. |
int |
getMode()
Returns the LDAP mode that is being used. |
java.lang.String |
getNameField()
Returns the LDAP field name that the user's name is stored in. |
int |
getPort()
Returns the LDAP server port number. |
java.lang.String |
getSearchFilter()
Returns the filter used for searching the directory for users. |
java.lang.String |
getUsernameField()
Returns the LDAP field name that the username lookup will be performed on. |
boolean |
isDebugEnabled()
Returns true if LDAP connection debugging is turned on. |
boolean |
isPosixMode()
Return true if the LDAP server is operating in Posix mode. |
boolean |
isSslEnabled()
Returns true if LDAP connection is via SSL or not. |
boolean |
prepareEncryptionUtil()
|
void |
setAdminDN(java.lang.String adminDN)
Sets the starting admin DN that searches for admins will performed with. |
void |
setAdminPassword(java.lang.String adminPassword)
Sets the admin password for the LDAP server we're connecting to. |
void |
setAlternateBaseDN(java.lang.String alternateBaseDN)
Sets the alternate starting DN that searches for users will performed with. |
void |
setBaseDN(java.lang.String baseDN)
Sets the starting DN that searches for users will performed with. |
void |
setDebugEnabled(boolean debugEnabled)
Sets whether LDAP connection debugging is turned on. |
void |
setEmailField(java.lang.String emailField)
Sets the LDAP field name that the user's email address is stored in. |
void |
setGroupDescriptionField(java.lang.String groupDescriptionField)
Sets the field used to describe a group. |
void |
setGroupmemberField(java.lang.String groupMemberField)
Sets the field used to list members within a group. |
void |
setGroupNameField(java.lang.String groupNameField)
Sets the field name used for groups. |
void |
setGroupSearchFilter(java.lang.String groupSearchFilter)
Sets the field used as the search filter when searching for groups. |
void |
setHost(java.lang.String host)
Sets the LDAP server host; e.g., localhost or machine.example.com, etc. |
void |
setMode(int mode)
Sets the LDAP mode that should be used. |
void |
setNameField(java.lang.String nameField)
Sets the LDAP field name that the user's name is stored in. |
void |
setPort(int port)
Sets the LDAP server port number. |
void |
setPostfixMode(boolean posixMode)
Sets whether the LDAP server is operating in Posix mode. |
void |
setSearchFilter(java.lang.String searchFilter)
Sets the filter used for searching the directory for users. |
void |
setSslEnabled(boolean sslEnabled)
Sets whether the connection to the LDAP server should be made via ssl or not. |
void |
setUsernameField(java.lang.String usernameField)
Sets the LDAP field name that the username lookup will be performed on. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int ALL_LDAP_MODE
public static final int LDAP_DB_MODE
public static final java.lang.String LDAP_ADMIN_PASSWORD_KEY
public static final java.lang.String LDAP_ADMIN_PASSWORD
public static final java.lang.String LDAP_ADMIN_PASSWORD_ENCRYPTED
Method Detail |
---|
public static LdapManager getInstance()
public javax.naming.directory.DirContext getContext() throws javax.naming.NamingException
javax.naming.NamingException
- if there is an error making the LDAP connection.public javax.naming.directory.DirContext getContext(java.lang.String baseDN) throws javax.naming.NamingException
baseDN
- the base DN to use for the context.
javax.naming.NamingException
- if there is an error making the LDAP connection.public boolean checkAuthentication(java.lang.String userDN, java.lang.String password)
userDN
- the user's dn to authenticate (relative to baseDN).password
- the user's password.
public java.lang.String findUserDN(java.lang.String username) throws java.lang.Exception
Searches are performed over all subtrees relative to the baseDN. If the search fails in the baseDN then another search will be performed in the alternateBaseDN. For example, if the baseDN is "o=jivesoftware, o=com" and we do a search for "mtucker", then we might find a userDN of "uid=mtucker,ou=People". This kind of searching is a good thing since it doesn't make the assumption that all user records are stored in a flat structure. However, it does add the requirement that "uid" field (or the other field specified) must be unique over the entire subtree from the baseDN. For example, it's entirely possible to create two dn's in your LDAP directory with the same uid: "uid=mtucker,ou=People" and "uid=mtucker,ou=Administrators". In such a case, it's not possible to uniquely identify a user, so this method will throw an error.
The dn that's returned is relative to the default baseDN.
username
- the username to lookup the dn for.
java.lang.Exception
- if the search for the dn fails.public java.lang.String findUserDN(java.lang.String username, java.lang.String baseDN) throws java.lang.Exception
Searches are performed over all subtrees relative to the baseDN. For example, if the baseDN is "o=jivesoftware, o=com" and we do a search for "mtucker", then we might find a userDN of "uid=mtucker,ou=People". This kind of searching is a good thing since it doesn't make the assumption that all user records are stored in a flat structure. However, it does add the requirement that "uid" field (or the other field specified) must be unique over the entire subtree from the baseDN. For example, it's entirely possible to create two dn's in your LDAP directory with the same uid: "uid=mtucker,ou=People" and "uid=mtucker,ou=Administrators". In such a case, it's not possible to uniquely identify a user, so this method will throw an error.
The dn that's returned is relative to the baseDN.
username
- the username to lookup the dn for.baseDN
- the base DN to use for this search.
java.lang.Exception
- if the search for the dn fails.to search using the default baseDN and alternateBaseDN.
public java.lang.String getHost()
public void setHost(java.lang.String host)
host
- the LDAP server host name.public int getPort()
public void setPort(int port)
port
- the LDAP server port number.public boolean isDebugEnabled()
public void setDebugEnabled(boolean debugEnabled)
debugEnabled
- true if debugging should be turned on.public boolean isSslEnabled()
public void setSslEnabled(boolean sslEnabled)
sslEnabled
- true if ssl should be enabled, false otherwise.public java.lang.String getUsernameField()
public void setUsernameField(java.lang.String usernameField)
usernameField
- the LDAP field that the username lookup will be
performed on.public java.lang.String getNameField()
public void setNameField(java.lang.String nameField)
nameField
- the LDAP field that that correspond's to the user's name.public java.lang.String getEmailField()
public void setEmailField(java.lang.String emailField)
emailField
- the LDAP field that that correspond's to the user's
email address.public java.lang.String getBaseDN()
public void setBaseDN(java.lang.String baseDN)
baseDN
- the starting DN used for performing searches.public java.lang.String getAlternateBaseDN()
public void setAlternateBaseDN(java.lang.String alternateBaseDN)
alternateBaseDN
- the alternate starting DN used for performing searches.public java.lang.String getAdminDN()
public void setAdminDN(java.lang.String adminDN)
adminDN
- the starting DN used for performing admin searches.public java.lang.String getAdminPassword()
public void setAdminPassword(java.lang.String adminPassword)
adminPassword
- the admin password for the LDAP server we're
connecting to.public int getMode()
public void setMode(int mode)
mode
- the mode to use.public java.lang.String getSearchFilter()
public void setSearchFilter(java.lang.String searchFilter)
searchFilter
- the search filter.public java.lang.String getGroupNameField()
public void setGroupNameField(java.lang.String groupNameField)
groupNameField
- the field used for groups.public java.lang.String getGroupMemberField()
public void setGroupmemberField(java.lang.String groupMemberField)
groupMemberField
- the field used to list members within a group.public java.lang.String getGroupDescriptionField()
public void setGroupDescriptionField(java.lang.String groupDescriptionField)
groupDescriptionField
- the field used to describe a group.public boolean isPosixMode()
public void setPostfixMode(boolean posixMode)
posixMode
- true if posix mode is being used by the LDAP server.public java.lang.String getGroupSearchFilter()
public void setGroupSearchFilter(java.lang.String groupSearchFilter)
groupSearchFilter
- the field used as the search filter when searching for groups.public boolean prepareEncryptionUtil()
|
Jive Forums Project Page | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |