Request that an operation be processed by a different authorization identity than the one that is currently associated with the connection. See RFC 4370.
Using the Proxy Authorization Control
Connectionconn=DefaultConnectionFactory.getConnection("ldap://directory.ldaptive.org");try{conn.open();SearchOperationsearch=newSearchOperation(conn);SearchRequestrequest=newSearchRequest("dc=ldaptive,dc=org",newSearchFilter("(givenName=daniel)"));request.setControls(newProxyAuthorizationControl("dn:uid=dfisher,ou=people,dc=ldaptive,dc=org"));SearchResultresult=search.execute(request).getResult();for(LdapEntryentry:result.getEntries()){// do something useful with the entries}}finally{conn.close();}
Provider Support
JNDI
JLDAP
Apache LDAP
UnboundID
OpenDJ
✓
✓
✗
✓
✓
✓
Functionality exists in the provider API and has been confirmed
✗
Functionality does not exist in the provider API
✶
Functionality exists in the provider API, but did not work in our test environment
?
Functionality exists in the provider API, but has not been integrated into the ldaptive provider