Java源码示例:com.unboundid.ldap.sdk.BindResult
示例1
boolean authenticate(final LDAPConnection ldap, final String userDN, final String password) throws LDAPException {
final BindResult bindResult = ldap.bind(userDN, password);
if (bindResult.getResultCode().equals(ResultCode.SUCCESS)) {
LOG.debug("Login successful: " + userDN); // don't expose user names at successful login as this is a security issue
return true;
} else {
LOG.warn("Access denied: " + userDN);
return false;
}
}
示例2
private LDAPConnection someLdapConnectionReturning(final ResultCode resultCode) throws LDAPException {
final LDAPConnection ldap = mock(LDAPConnection.class);
final BindResult mockBindResult = mock(BindResult.class);
when(mockBindResult.getResultCode()).thenReturn(resultCode);
when(ldap.bind(anyString(), anyString())).thenReturn(mockBindResult);
return ldap;
}
示例3
private LDAPConnection someLdapConnectionReturningSuccessOrThrowingBindException(final String bindDnSuccess, final String bindDnException) throws LDAPException {
final LDAPConnection ldap = mock(LDAPConnection.class);
final BindResult mockBindResultSuccess = mock(BindResult.class);
when(mockBindResultSuccess.getResultCode()).thenReturn(ResultCode.SUCCESS);
when(ldap.bind(contains(bindDnSuccess), anyString())).thenReturn(mockBindResultSuccess);
final BindResult mockBindResultInvalid = mock(BindResult.class);
when(mockBindResultInvalid.getResultCode()).thenReturn(ResultCode.INVALID_CREDENTIALS);
final LDAPBindException mockBindException = mock(LDAPBindException.class);
when(mockBindException.getBindResult()).thenReturn(mockBindResultInvalid);
when(ldap.bind(contains(bindDnException), anyString())).thenThrow(mockBindException);
return ldap;
}
示例4
@Test
public void testInMemBind() throws Exception {
String user = "cn=test,dc=staticsecurity,dc=geomajas,dc=org";
LDAPConnection connection = new LDAPConnection("localhost", PORT);
BindResult auth = connection.bind(user, "cred");
System.out.println("auth " + auth);
System.out.println(" rc " + auth.getResultCode());
System.out.println(" cu " + auth.getResultCode().isConnectionUsable());
System.out.println(" dn " + auth.getMatchedDN());
System.out.println(" dm " + auth.getDiagnosticMessage());
SearchRequest request = new SearchRequest(user,
SearchScope.ONE, Filter.createEqualityFilter("objectclass", "person"),
"cn", "groupMembership", "givenName", "sn", "ou");
SearchResult search = connection.search(request);
System.out.println(search);
System.out.println("count " + search.getEntryCount());
System.out.println("count " + search.getSearchEntries());
for (SearchResultEntry se : search.getSearchEntries()) {
System.out.println("-- cn " + se.getAttributeValue("cn"));
System.out.println(" givenName " + se.getAttributeValue("givenName"));
System.out.println(" sn " + se.getAttributeValue("sn"));
System.out.println(" ou " + se.getAttributeValue("ou"));
System.out.println(" groupMembership ");
if (null != se.getAttributeValues("groupMembership")) {
for (String val : se.getAttributeValues("groupMembership")) {
System.out.println(" " + val);
}
}
}
}