Skip to content

Commit

Permalink
Set anonymousReadOnly true when userDn is not provided
Browse files Browse the repository at this point in the history
  • Loading branch information
eddumelendez committed Jan 23, 2018
1 parent dc4fe89 commit 04a6669
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,7 @@ public void afterPropertiesSet() {
LOG.debug("AuthenticationSource not set - " + "using default implementation");
if (!StringUtils.hasText(userDn)) {
LOG.info("Property 'userDn' not set - " + "anonymous context will be used for read-write operations");
anonymousReadOnly = true;
}
else if (!StringUtils.hasText(password)) {
LOG.info("Property 'password' not set - " + "blank password will be used");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package org.springframework.ldap.itest.ldap473;

import javax.naming.directory.DirContext;

import org.junit.Test;
import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.ldap.core.ContextSource;
import org.springframework.ldap.core.support.LdapContextSource;
import org.springframework.ldap.test.EmbeddedLdapServerFactoryBean;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import static org.assertj.core.api.Assertions.assertThat;

/**
* @author Eddú Meléndez
*/
@RunWith(SpringJUnit4ClassRunner.class)
public class Ldap473Test {

@Autowired
private ContextSource contextSource;

@Test
public void anonymous() {
DirContext readOnlyContext = contextSource.getReadOnlyContext();
assertThat(readOnlyContext).isNotNull();
}

@Configuration
static class ContextSourceConfig {

@Bean
public ContextSource contextSource() {
LdapContextSource contextSource = new LdapContextSource();
contextSource.setUrl("ldap://localhost:9321");
contextSource.setUserDn(null);
contextSource.setPassword(null);
return contextSource;
}

}

@Configuration
static class EmbeddedLdapConfig {

@Bean
public EmbeddedLdapServerFactoryBean embeddedLdapServer() {
EmbeddedLdapServerFactoryBean embeddedLdapServer = new EmbeddedLdapServerFactoryBean();
embeddedLdapServer.setPartitionName("example");
embeddedLdapServer.setPartitionSuffix("dc=261consulting,dc=com");
embeddedLdapServer.setPort(9321);
return embeddedLdapServer;
}

}

}

0 comments on commit 04a6669

Please sign in to comment.