@Bean public RememberMeServices rememberMeServices(String internalSecretKey) { LdapContextSource ldapContext = getLdapContext(); String searchBase = "OU=Users,DC=test,DC=company,DC=com"; String searchFilter = "(&(objectClass=user)(sAMAccountName={0}))"; FilterBasedLdapUserSearch search = new FilterBasedLdapUserSearch(searchBase, searchFilter, ldapContext); search.setSearchSubtree(true); LdapUserDetailsService rememberMeUserDetailsService = new LdapUserDetailsService(search); rememberMeUserDetailsService.setUserDetailsMapper(new CustomUserDetailsServiceImpl()); InMemoryTokenRepositoryImpl rememberMeTokenRepository = new InMemoryTokenRepositoryImpl(); PersistentTokenBasedRememberMeServices services = new PersistentTokenBasedRememberMeServices(internalSecretKey, rememberMeUserDetailsService, rememberMeTokenRepository); services.setAlwaysRemember(true); return services; } @Bean public LdapContextSource getLdapContext() { LdapContextSource source = new LdapContextSource(); source.setUserDn("user@"+DOMAIN); source.setPassword("password"); source.setUrl(URL); return source; }
@Bean public LdapTemplate ldapTemplate() { LdapContextSource contextSource = new LdapContextSource(); contextSource.setUrl(environment.getProperty(LDAP_PROVIDER_URL_SPRING_PROPERTY)); contextSource.setUserDn(environment.getProperty(LDAP_PROVIDER_USERDN_SPRING_PROPERTY)); contextSource.setPassword(environment.getProperty(LDAP_PROVIDER_PASSWORD_SPRING_PROPERTY)); contextSource.afterPropertiesSet(); return new LdapTemplate(contextSource); }
// ... LdapContextSource ctxSrc = new LdapContextSource(); ctxSrc.setUrl("ldap://<ldapUrl>:389"); ctxSrc.setBase("DC=bar,DC=test,DC=foo"); ctxSrc.setUserDn("<username>@bar.test.foo"); ctxSrc.setPassword("<password>"); ctxSrc.afterPropertiesSet(); /* ! */ LdapTemplate tmpl = new LdapTemplate(ctxSrc); // ...
LdapContextSource buildLdapContextSource(LdapServerInventory inv, Map<String, Object> baseEnvironmentProperties) { LdapContextSource ldapContextSource; ldapContextSource = new LdapContextSource(); ldapContextSource.setUrl(inv.getUrl()); ldapContextSource.setBase(inv.getBase()); ldapContextSource.setUserDn(inv.getUsername()); ldapContextSource.setPassword(inv.getPassword()); ldapContextSource.setDirObjectFactory(DefaultDirObjectFactory.class); if (inv.getEncryption().equals(LdapEncryptionType.TLS.toString())) { setTls(ldapContextSource); } ldapContextSource.setCacheEnvironmentProperties(false); ldapContextSource.setPooled(false); ldapContextSource.setReferral("follow"); if (baseEnvironmentProperties != null && !baseEnvironmentProperties.isEmpty()) { ldapContextSource.setBaseEnvironmentProperties(baseEnvironmentProperties); } try { ldapContextSource.afterPropertiesSet(); logger.info("Test LDAP Context Source loaded "); } catch (Exception e) { logger.error("Test LDAP Context Source not loaded ", e); throw new CloudRuntimeException("Test LDAP Context Source not loaded", e); } return ldapContextSource; }
/** * Get authenticate LDAP template. * * @return LDAP template */ @Bean(name="authenticateLdapTemplate") public LdapTemplate getAuthenticateLdapTemplate() { LdapContextSource source = new LdapContextSource(); source.setUrl(System.getProperty("ldap.url")); source.setPooled(false); Map<String, Object> baseEnvironmentProperties = new HashMap<String, Object>(); baseEnvironmentProperties.put("com.sun.jndi.ldap.connect.timeout", System.getProperty("ldap.timeout")); source.setBaseEnvironmentProperties(baseEnvironmentProperties); source.afterPropertiesSet(); return new LdapTemplate(source); }
LdapContextSource ctxSrc = new LdapContextSource(); ctxSrc.setUrl("ldap://<url>"); ctxSrc.setBase("dc=example,dc=local"); ctxSrc.setUserDn("<user>@example.local"); ctxSrc.setPassword("<pass>"); ctxSrc.afterPropertiesSet(); // this method should be called. LdapTemplate tmpl = new LdapTemplate(ctxSrc); setLdapTemplate(tmpl);
@Bean public LdapContextSource ldapContextSource() { LdapContextSource contextSource = new LdapContextSource(); contextSource.setAnonymousReadOnly(anonymousReadOnly); contextSource.setUrl(url); contextSource.setBase(base); contextSource.setUserDn(userDn); contextSource.setPassword(password); return contextSource; }
@Test public void testGetAnonymousEnvWithBaseEnvironment() throws Exception { tested.setUrl("ldap://ldap.example.com:389"); HashMap map = new HashMap(); map.put(LdapContextSource.SUN_LDAP_POOLING_FLAG, "true"); tested.setBaseEnvironmentProperties(map); tested.afterPropertiesSet(); Hashtable env = tested.getAnonymousEnv(); assertThat(env.get(Context.PROVIDER_URL)).isEqualTo("ldap://ldap.example.com:389"); assertThat(env.get(LdapContextSource.SUN_LDAP_POOLING_FLAG)).isNull(); }
@Test public void testGetAnonymousEnvWithNoBaseSet() throws Exception { tested.setUrl("ldap://ldap.example.com:389"); tested.afterPropertiesSet(); Hashtable env = tested.getAnonymousEnv(); assertThat(env.get(Context.PROVIDER_URL)).isEqualTo("ldap://ldap.example.com:389"); // check that base was not added to environment assertThat(env.get(DefaultDirObjectFactory.JNDI_ENV_BASE_PATH_KEY)).isNull(); }
@Test public void testGetAnonymousEnvWithPoolingInBaseEnvironmentAndPoolingOff() throws Exception { tested.setUrl("ldap://ldap.example.com:389"); HashMap map = new HashMap(); map.put(LdapContextSource.SUN_LDAP_POOLING_FLAG, "true"); tested.setBaseEnvironmentProperties(map); tested.setPooled(false); tested.afterPropertiesSet(); Hashtable env = tested.getAnonymousEnv(); assertThat(env.get(Context.PROVIDER_URL)).isEqualTo("ldap://ldap.example.com:389"); assertThat(env.get(LdapContextSource.SUN_LDAP_POOLING_FLAG)).isNull(); }
@Test public void testGetAnonymousEnvWithEmptyBaseSet() throws Exception { tested.setUrl("ldap://ldap.example.com:389"); tested.setBase(null); tested.afterPropertiesSet(); Hashtable env = tested.getAnonymousEnv(); assertThat(env.get(Context.PROVIDER_URL)).isEqualTo("ldap://ldap.example.com:389"); // check that base was not added to environment assertThat(env.get(DefaultDirObjectFactory.JNDI_ENV_BASE_PATH_KEY)).isNull(); }
@Override protected final Object doCreateInstance(final String dnsName) throws Exception { Assert.hasText(userDn); LdapContextSource instance = new LdapContextSource(); instance.setUrl("ldap://" + dnsName); instance.setUserDn(userDn); instance.setPassword(password); instance.setBase(base); instance.setPooled(pooled); setAdditionalContextSourceProperties(instance, dnsName); instance.afterPropertiesSet(); return instance; }
@Override protected final Object doCreateInstance(final String dnsName) throws Exception { Assert.hasText(userDn); LdapContextSource instance = new LdapContextSource(); instance.setUrl("ldap://" + dnsName); instance.setUserDn(userDn); instance.setPassword(password); instance.setBase(base); instance.setPooled(pooled); setAdditionalContextSourceProperties(instance, dnsName); instance.afterPropertiesSet(); return instance; }
@Test public void testGetAuthenticatedEnv() throws Exception { tested.setBase("dc=example,dc=se"); tested.setUrl("ldap://ldap.example.com:389"); tested.setPooled(true); tested.setUserDn("cn=Some User"); tested.setPassword("secret"); tested.afterPropertiesSet(); Hashtable env = tested.getAuthenticatedEnv("cn=Some User", "secret"); assertThat(env.get(Context.PROVIDER_URL)).isEqualTo("ldap://ldap.example.com:389/dc=example,dc=se"); assertThat(env.get(LdapContextSource.SUN_LDAP_POOLING_FLAG)).isEqualTo("true"); assertThat(env.get(Context.SECURITY_PRINCIPAL)).isEqualTo("cn=Some User"); assertThat(env.get(Context.SECURITY_CREDENTIALS)).isEqualTo("secret"); // check that base was added to environment assertThat(env.get(DefaultDirObjectFactory.JNDI_ENV_BASE_PATH_KEY)).isEqualTo(LdapUtils.newLdapName("dc=example,dc=se")); }
@Bean public ContextSource contextSource() { LdapContextSource contextSource = new LdapContextSource(); contextSource.setUrl("ldap://localhost:9322"); contextSource.setUserDn(null); contextSource.setPassword(null); return contextSource; }
@Test public void testGetAnonymousEnvWhenCacheIsOff() throws Exception { tested.setBase("dc=example,dc=se"); tested.setUrl("ldap://ldap.example.com:389"); tested.setPooled(true); tested.setUserDn("cn=Some User"); tested.setPassword("secret"); tested.setCacheEnvironmentProperties(false); tested.afterPropertiesSet(); Hashtable env = tested.getAnonymousEnv(); assertThat(env.get(Context.PROVIDER_URL)).isEqualTo("ldap://ldap.example.com:389/dc=example,dc=se"); assertThat(env.get(LdapContextSource.SUN_LDAP_POOLING_FLAG)).isEqualTo("true"); assertThat(env.get(Context.SECURITY_PRINCIPAL)).isNull(); assertThat(env.get(Context.SECURITY_CREDENTIALS)).isNull(); tested.setUrl("ldap://ldap2.example.com:389"); env = tested.getAnonymousEnv(); assertThat(env.get(Context.PROVIDER_URL)).isEqualTo("ldap://ldap2.example.com:389/dc=example,dc=se"); } }
public LDAPContext(String dn, String searchFilter, String url, String managerUser, String managerPassword) { this.ldapContextSource = new LdapContextSource(); this.ldapContextSource.setUrl(url); this.ldapContextSource.setUserDn(managerUser); this.ldapContextSource.setPassword(managerPassword); this.ldapContextSource.afterPropertiesSet(); this.filterBasedLdapUserSearch = new FilterBasedLdapUserSearch(dn, searchFilter, ldapContextSource); this.filterBasedLdapUserSearch.setSearchSubtree(true); this.bindAuthenticator = new BindAuthenticator(this.ldapContextSource); this.bindAuthenticator.setUserSearch(this.filterBasedLdapUserSearch); }
private static LdapContextSource buildLdapContextSource(LdapDO ldapDO) { LdapContextSource contextSource = new LdapContextSource(); contextSource.setUrl(ldapDO.getUrl()); contextSource.setBase(ldapDO.getBase()); contextSource.setUserDn(ldapDO.getUserDn()); contextSource.setPassword(ldapDO.getPassword()); contextSource.setPooled(true); contextSource.afterPropertiesSet(); return contextSource; }
private static ContextSource getContextSource(String url, String username, String password) throws Exception { LdapContextSource contextSource = new LdapContextSource(); contextSource.setUrl(url); contextSource.setUserDn(username); contextSource.setPassword(password); contextSource.setPooled(false); contextSource.afterPropertiesSet(); return contextSource; }
private LdapAuthenticationProvider ldapProvider(Ldap ldap) { LdapContextSource contextSource = new LdapContextSource(); contextSource.setUrl(ldap.getUrl()); contextSource.setUserDn(ldap.getUserDn()); contextSource.setPassword(ldap.getPassword()); contextSource.setReferral("follow"); contextSource.afterPropertiesSet(); LdapUserSearch ldapUserSearch = new FilterBasedLdapUserSearch(ldap.getSearchBase(), ldap.getUserSearchFilter(), contextSource); BindAuthenticator bindAuthenticator = new BindAuthenticator(contextSource); bindAuthenticator.setUserSearch(ldapUserSearch); return new LdapAuthenticationProvider(bindAuthenticator, populator); } }