public boolean authenticate(LdapNetworkConnection connection, String principal, String credentials) throws LdapException { checkArgument(!isNullOrEmpty(principal), "Binding with empty principal is forbidden."); checkArgument(!isNullOrEmpty(credentials), "Binding with empty credentials is forbidden."); final BindRequestImpl bindRequest = new BindRequestImpl(); bindRequest.setName(principal); bindRequest.setCredentials(credentials); LOG.trace("Re-binding with DN {} using password", principal); final BindResponse bind = connection.bind(bindRequest); if (!bind.getLdapResult().getResultCode().equals(ResultCodeEnum.SUCCESS)) { LOG.trace("Re-binding DN {} failed", principal); throw new RuntimeException(bind.toString()); } LOG.trace("Binding DN {} did not throw, connection authenticated: {}", principal, connection.isAuthenticated()); return connection.isAuthenticated(); } }
/** * Creates a new getDecoratedMessage() of AuthRequestDsml. * * @param codec The LDAP Service to use */ public BindRequestDsml( LdapApiService codec ) { super( codec, new BindRequestImpl() ); }
final BindRequestImpl bri = new BindRequestImpl(); if (request.getControls() != null) { bri.addAllControls(config.getControlProcessor().processRequestControls(request.getControls())); bri.setVersion3(true); bri.setSimple(true); bri.setDn(new Dn(request.getDn())); bri.setCredentials(request.getCredential().getBytes());
if ( req.isSimple() != isSimple() ) if ( req.isVersion3() != isVersion3() ) String name2 = getName(); Dn dn2 = getDn(); return Arrays.equals( req.getCredentials(), getCredentials() );
@Override public ResultResponse process() throws LdapException { MemoryClearingBuffer passwordBuffer = MemoryClearingBuffer.newInstance( password ); try { BindRequest bindRequest = new BindRequestImpl() .setDn( userDn ) .setCredentials( passwordBuffer.getBytes() ) .addControl( passwordPolicyRequestControl ); return connection.bind( bindRequest ); } finally { passwordBuffer.clear(); } } } );
/** * Performs an anonymous bind. * * @param request to bind with * * @return bind response * * @throws LdapException if an error occurs */ protected Response<Void> anonymousBind(final BindRequest request) throws LdapException { Response<Void> response = null; try { final BindRequestImpl bri = new BindRequestImpl(); if (request.getControls() != null) { bri.addAllControls(config.getControlProcessor().processRequestControls(request.getControls())); } final BindResponse br = connection.bind(bri); throwOperationException(request, br); response = createResponse(request, null, br); } catch (LdapOperationException e) { processLdapOperationException(e); } catch (org.apache.directory.api.ldap.model.exception.LdapException e) { processLdapException(e); } return response; }
/** * {@inheritDoc} */ @Override public BindRequest setCredentials( String credentials ) { return setCredentials( Strings.getBytesUtf8( credentials ) ); }
/** * The result containing response for this request. * * @return the result containing response for this request */ @Override public BindResponse getResultResponse() { if ( response == null ) { response = new BindResponseImpl( getMessageId() ); } return response; }
/** * {@inheritDoc} */ @Override public void anonymousBind() throws LdapException { BindRequest bindRequest = new BindRequestImpl(); bindRequest.setName( "" ); bindRequest.setCredentials( ( byte[] ) null ); BindResponse bindResponse = bind( bindRequest ); processResponse( bindResponse ); }
if ( req.isSimple() != isSimple() ) if ( req.isVersion3() != isVersion3() ) String name2 = getName(); Dn dn2 = getDn(); return Arrays.equals( req.getCredentials(), getCredentials() );
@Override public ResultResponse process() throws LdapException { MemoryClearingBuffer passwordBuffer = MemoryClearingBuffer.newInstance( password ); try { BindRequest bindRequest = new BindRequestImpl() .setDn( userDn ) .setCredentials( passwordBuffer.getBytes() ) .addControl( passwordPolicyRequestControl ); return connection.bind( bindRequest ); } finally { passwordBuffer.clear(); } } } );
/** * {@inheritDoc} */ @Override public BindRequest setCredentials( String credentials ) { return setCredentials( Strings.getBytesUtf8( credentials ) ); }
/** * The result containing response for this request. * * @return the result containing response for this request */ @Override public BindResponse getResultResponse() { if ( response == null ) { response = new BindResponseImpl( getMessageId() ); } return response; }
/** * {@inheritDoc} */ @Override public void bind( Dn name ) throws LdapException { byte[] credBytes = Strings.EMPTY_BYTES; BindRequest bindRequest = new BindRequestImpl(); bindRequest.setDn( name ); bindRequest.setCredentials( credBytes ); BindResponse bindResponse = bind( bindRequest ); processResponse( bindResponse ); }
if ( req.isSimple() != isSimple() ) if ( req.isVersion3() != isVersion3() ) String name2 = getName(); Dn dn2 = getDn(); return Arrays.equals( req.getCredentials(), getCredentials() );
@Override public ResultResponse process() throws LdapException { MemoryClearingBuffer passwordBuffer = MemoryClearingBuffer.newInstance( password ); try { BindRequest bindRequest = new BindRequestImpl() .setDn( userDn ) .setCredentials( passwordBuffer.getBytes() ) .addControl( passwordPolicyRequestControl ); return connection.bind( bindRequest ); } finally { passwordBuffer.clear(); } } } );
public boolean authenticate(LdapNetworkConnection connection, String principal, String credentials) throws LdapException { checkArgument(!isNullOrEmpty(principal), "Binding with empty principal is forbidden."); checkArgument(!isNullOrEmpty(credentials), "Binding with empty credentials is forbidden."); final BindRequestImpl bindRequest = new BindRequestImpl(); bindRequest.setName(principal); bindRequest.setCredentials(credentials); LOG.trace("Re-binding with DN {} using password", principal); final BindResponse bind = connection.bind(bindRequest); if (!bind.getLdapResult().getResultCode().equals(ResultCodeEnum.SUCCESS)) { LOG.trace("Re-binding DN {} failed", principal); throw new RuntimeException(bind.toString()); } LOG.trace("Binding DN {} did not throw, connection authenticated: {}", principal, connection.isAuthenticated()); return connection.isAuthenticated(); } }
/** * {@inheritDoc} */ @Override public BindRequest setCredentials( String credentials ) { return setCredentials( Strings.getBytesUtf8( credentials ) ); }
/** * The result containing response for this request. * * @return the result containing response for this request */ @Override public BindResponse getResultResponse() { if ( response == null ) { response = new BindResponseImpl( getMessageId() ); } return response; }
/** * {@inheritDoc} */ @Override public void bind( Dn name ) throws LdapException { byte[] credBytes = Strings.EMPTY_BYTES; BindRequest bindRequest = new BindRequestImpl(); bindRequest.setDn( name ); bindRequest.setCredentials( credBytes ); BindResponse bindResponse = bind( bindRequest ); processResponse( bindResponse ); }