public final class LdapSearch extends Object implements DirSearch
| Constructor and Description |
|---|
LdapSearch(org.apache.hadoop.conf.Configuration conf,
DirContext ctx)
Construct an instance of
LdapSearch. |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this search object and releases any system resources associated
with it.
|
List<String> |
executeCustomQuery(String query)
Executes an arbitrary query.
|
List<String> |
executeUserAndGroupFilterQuery(String user,
String userDn,
String groupSearchFilter,
String groupBaseDn)
Executes an arbitrary query.
|
String |
findGroupDn(String group)
Finds group's distinguished name.
|
List<String> |
findGroupsForUser(String userDn)
Finds groups that contain the specified user.
|
String |
findUserDn(String user)
Finds user's distinguished name.
|
String |
findUserDn(String user,
String userSearchFilter,
String baseDn)
Finds user's distinguished name.
|
boolean |
isUserMemberOfGroup(String user,
String groupDn)
Verifies that specified user is a member of specified group.
|
public LdapSearch(org.apache.hadoop.conf.Configuration conf,
DirContext ctx)
throws NamingException
LdapSearch.conf - Hive configurationctx - Directory service that will be used for the queries.NamingExceptionpublic void close()
close in interface Closeableclose in interface AutoCloseablepublic String findUserDn(String user) throws NamingException
findUserDn in interface DirSearchuser - usernameNamingExceptionpublic String findUserDn(String user, String userSearchFilter, String baseDn) throws NamingException
findUserDn in interface DirSearchuser - usernameuserSearchFilter - Generic LDAP Search filter for ex: (&(uid={0})(objectClass=person))baseDn - LDAP BaseDN for user searches for ex: dc=apache,dc=orgNamingExceptionpublic String findGroupDn(String group) throws NamingException
findGroupDn in interface DirSearchgroup - group name or unique identifierNamingExceptionpublic boolean isUserMemberOfGroup(String user, String groupDn) throws NamingException
isUserMemberOfGroup in interface DirSearchuser - user id or distinguished namegroupDn - group's DNtrue if the user is a member of the group, false - otherwise.NamingExceptionpublic List<String> findGroupsForUser(String userDn) throws NamingException
findGroupsForUser in interface DirSearchuserDn - user's distinguished nameNamingExceptionpublic List<String> executeCustomQuery(String query) throws NamingException
executeCustomQuery in interface DirSearchquery - any queryNamingExceptionpublic List<String> executeUserAndGroupFilterQuery(String user, String userDn, String groupSearchFilter, String groupBaseDn) throws NamingException
executeUserAndGroupFilterQuery in interface DirSearchuser - user RDN or username. This will be substituted for {0} in group searchuserDn - userDn DN for the username. This will be substituted for {1} in group searchgroupSearchFilter - filter is the group filter query ex: (&(memberUid={0})(&(CN=group1)(objectClass=posixGroup)))groupBaseDn - BaseDN for group searches. ex: "ou=groups,dc=apache,dc=org"NamingExceptionCopyright © 2024 The Apache Software Foundation. All rights reserved.