Java Code Examples for org.springframework.ldap.core.support.LdapContextSource#setPooled()
The following examples show how to use
org.springframework.ldap.core.support.LdapContextSource#setPooled() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TlsContextSourceEc2InstanceLaunchingFactoryBean.java From spring-ldap with Apache License 2.0 | 6 votes |
protected void setAdditionalContextSourceProperties(LdapContextSource ctx, final String dnsName) { DefaultTlsDirContextAuthenticationStrategy authenticationStrategy = new DefaultTlsDirContextAuthenticationStrategy(); authenticationStrategy.setHostnameVerifier(new HostnameVerifier() { public boolean verify(String hostname, SSLSession session) { return hostname.equals(dnsName); } }); ctx.setAuthenticationStrategy(authenticationStrategy); ctx.setPooled(false); }
Example 2
Source File: AuthenticationCheck.java From ranger with Apache License 2.0 | 6 votes |
private Authentication getADBindAuthentication(String ldapUrl, String bindDn, String bindPassword, String userName, String userPassword) { Authentication result = null; try { LdapContextSource ldapContextSource = new DefaultSpringSecurityContextSource(ldapUrl); ldapContextSource.setUserDn(bindDn); ldapContextSource.setPassword(bindPassword); ldapContextSource.setReferral("follow"); ldapContextSource.setCacheEnvironmentProperties(true); ldapContextSource.setAnonymousReadOnly(false); ldapContextSource.setPooled(true); ldapContextSource.afterPropertiesSet(); String searchFilter="(sAMAccountName={0})"; FilterBasedLdapUserSearch userSearch=new FilterBasedLdapUserSearch(adDomain, searchFilter,ldapContextSource); userSearch.setSearchSubtree(true); BindAuthenticator bindAuthenticator = new BindAuthenticator(ldapContextSource); bindAuthenticator.setUserSearch(userSearch); bindAuthenticator.afterPropertiesSet(); LdapAuthenticationProvider ldapAuthenticationProvider = new LdapAuthenticationProvider(bindAuthenticator); if (userName != null && userPassword != null && !userName.trim().isEmpty() && !userPassword.trim().isEmpty()) { final List<GrantedAuthority> grantedAuths = new ArrayList<>(); grantedAuths.add(new SimpleGrantedAuthority("ROLE_USER")); final UserDetails principal = new User(userName, userPassword, grantedAuths); final Authentication finalAuthentication = new UsernamePasswordAuthenticationToken(principal, userPassword, grantedAuths); result = ldapAuthenticationProvider.authenticate(finalAuthentication); } } catch (BadCredentialsException bce) { logFile.println("ERROR: LDAP Authentication Failed. Please verify values for ranger.admin.auth.sampleuser and " + "ranger.admin.auth.samplepassword\n"); } catch (Exception e) { logFile.println("ERROR: LDAP Authentication Failed: " + e); } return result; }
Example 3
Source File: BaseDAOTest.java From geofence with GNU General Public License v2.0 | 6 votes |
protected static void loadData() throws Exception { // Bind to the directory LdapContextSource contextSource = new LdapContextSource(); contextSource.setUrl("ldap://127.0.0.1:10389"); contextSource.setUserDn("uid=admin,ou=system"); contextSource.setPassword("secret"); contextSource.setPooled(false); //contextSource.setDirObjectFactory(null); contextSource.afterPropertiesSet(); // Create the Sprint LDAP template LdapTemplate template = new LdapTemplate(contextSource); // Clear out any old data - and load the test data LdapTestUtils.clearSubContexts(contextSource, LdapUtils.newLdapName("dc=example,dc=com")); LdapTestUtils.loadLdif(contextSource, new ClassPathResource("data.ldif")); }
Example 4
Source File: LDAPIdentityServiceImplTest.java From rice with Educational Community License v2.0 | 6 votes |
@BeforeClass public static void startLDAPServer() throws Exception { LdapTestUtils.startApacheDirectoryServer(PORT, baseName.toString(), "test", PRINCIPAL, CREDENTIALS, null); LdapContextSource contextSource = new LdapContextSource(); contextSource.setUrl("ldap://127.0.0.1:" + PORT); contextSource.setUserDn(""); contextSource.setPassword(""); contextSource.setPooled(false); contextSource.afterPropertiesSet(); // Create the Sprint LDAP template LdapTemplate template = new LdapTemplate(contextSource); // Clear out any old data - and load the test data LdapTestUtils.cleanAndSetup(template.getContextSource(), baseName, new ClassPathResource("ldap/testdata.ldif")); System.out.println("____________Started LDAP_________"); }
Example 5
Source File: ContextSourceEc2InstanceLaunchingFactoryBean.java From spring-ldap with Apache License 2.0 | 5 votes |
@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; }
Example 6
Source File: TestContextSourceFactoryBean.java From spring-ldap with Apache License 2.0 | 5 votes |
protected Object createInstance() throws Exception { LdapTestUtils.startEmbeddedServer(port, defaultPartitionSuffix, defaultPartitionName); if (contextSource == null) { // If not explicitly configured, create a new instance. LdapContextSource targetContextSource = new LdapContextSource(); if (baseOnTarget) { targetContextSource.setBase(defaultPartitionSuffix); } targetContextSource.setUrl("ldap://localhost:" + port); targetContextSource.setUserDn(principal); targetContextSource.setPassword(password); targetContextSource.setDirObjectFactory(dirObjectFactory); targetContextSource.setPooled(pooled); if (authenticationSource != null) { targetContextSource.setAuthenticationSource(authenticationSource); } targetContextSource.afterPropertiesSet(); contextSource = targetContextSource; } Thread.sleep(1000); if (baseOnTarget) { LdapTestUtils.clearSubContexts(contextSource, LdapUtils.emptyLdapName()); } else { LdapTestUtils.clearSubContexts(contextSource, LdapUtils.newLdapName(defaultPartitionSuffix)); } if (ldifFile != null) { LdapTestUtils.loadLdif(contextSource, ldifFile); } return contextSource; }
Example 7
Source File: DigestMd5ContextSourceEc2InstanceLaunchingFactoryBean.java From spring-ldap with Apache License 2.0 | 5 votes |
protected void setAdditionalContextSourceProperties(LdapContextSource ctx, final String dnsName) { DigestMd5DirContextAuthenticationStrategy authenticationStrategy = new DigestMd5DirContextAuthenticationStrategy(); // authenticationStrategy.setHostnameVerifier(new HostnameVerifier() { // public boolean verify(String hostname, SSLSession session) { // return hostname.equals(dnsName); // } // }); ctx.setAuthenticationStrategy(authenticationStrategy); ctx.setPooled(false); }
Example 8
Source File: TestContextSourceFactoryBean.java From spring-ldap with Apache License 2.0 | 5 votes |
protected ContextSource createInstance() throws Exception { LdapTestUtils.startEmbeddedServer(port, defaultPartitionSuffix, defaultPartitionName); if (contextSource == null) { // If not explicitly configured, create a new instance. LdapContextSource targetContextSource = new LdapContextSource(); if (baseOnTarget) { targetContextSource.setBase(defaultPartitionSuffix); } targetContextSource.setUrl("ldap://localhost:" + port); targetContextSource.setUserDn(principal); targetContextSource.setPassword(password); targetContextSource.setDirObjectFactory(dirObjectFactory); targetContextSource.setPooled(pooled); if (authenticationSource != null) { targetContextSource.setAuthenticationSource(authenticationSource); } targetContextSource.afterPropertiesSet(); contextSource = targetContextSource; } Thread.sleep(1000); if (baseOnTarget) { LdapTestUtils.clearSubContexts(contextSource, LdapUtils.emptyLdapName()); } else { LdapTestUtils.clearSubContexts(contextSource, LdapUtils.newLdapName(defaultPartitionSuffix)); } if (ldifFile != null) { LdapTestUtils.loadLdif(contextSource, ldifFile); } return contextSource; }
Example 9
Source File: TestLdap.java From spring-ldap with Apache License 2.0 | 5 votes |
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; }
Example 10
Source File: TestSchemaToJava.java From spring-ldap with Apache License 2.0 | 5 votes |
@Before public void setUp() throws Exception { // Create some basic converters and a converter manager converterManager = new ConverterManagerImpl(); Converter ptc = new FromStringConverter(); converterManager.addConverter(String.class, "", Byte.class, ptc); converterManager.addConverter(String.class, "", Short.class, ptc); converterManager.addConverter(String.class, "", Integer.class, ptc); converterManager.addConverter(String.class, "", Long.class, ptc); converterManager.addConverter(String.class, "", Double.class, ptc); converterManager.addConverter(String.class, "", Float.class, ptc); converterManager.addConverter(String.class, "", Boolean.class, ptc); Converter tsc = new ToStringConverter(); converterManager.addConverter(Byte.class, "", String.class, tsc); converterManager.addConverter(Short.class, "", String.class, tsc); converterManager.addConverter(Integer.class, "", String.class, tsc); converterManager.addConverter(Long.class, "", String.class, tsc); converterManager.addConverter(Double.class, "", String.class, tsc); converterManager.addConverter(Float.class, "", String.class, tsc); converterManager.addConverter(Boolean.class, "", String.class, tsc); // Bind to the directory contextSource = new LdapContextSource(); contextSource.setUrl("ldap://127.0.0.1:" + port); contextSource.setUserDn(""); contextSource.setPassword(""); contextSource.setPooled(false); contextSource.afterPropertiesSet(); // Clear out any old data - and load the test data LdapTestUtils.cleanAndSetup(contextSource, baseName, new ClassPathResource("testdata.ldif")); }
Example 11
Source File: RangerAuthenticationProvider.java From ranger with Apache License 2.0 | 5 votes |
private Authentication getADBindAuthentication(Authentication authentication) { try { String rangerADURL = PropertiesUtil.getProperty("ranger.ldap.ad.url", ""); String rangerLdapADBase = PropertiesUtil.getProperty("ranger.ldap.ad.base.dn", ""); String rangerADBindDN = PropertiesUtil.getProperty("ranger.ldap.ad.bind.dn", ""); String rangerADBindPassword = PropertiesUtil.getProperty("ranger.ldap.ad.bind.password", ""); String rangerLdapDefaultRole = PropertiesUtil.getProperty("ranger.ldap.default.role", "ROLE_USER"); String rangerLdapReferral = PropertiesUtil.getProperty("ranger.ldap.ad.referral", "follow"); String rangerLdapUserSearchFilter = PropertiesUtil.getProperty("ranger.ldap.ad.user.searchfilter", "(sAMAccountName={0})"); boolean rangerIsStartTlsEnabled = Boolean.valueOf(PropertiesUtil.getProperty( "ranger.ldap.starttls", "false")); String userName = authentication.getName(); String userPassword = ""; if (authentication.getCredentials() != null) { userPassword = authentication.getCredentials().toString(); } LdapContextSource ldapContextSource = new DefaultSpringSecurityContextSource(rangerADURL); ldapContextSource.setUserDn(rangerADBindDN); ldapContextSource.setPassword(rangerADBindPassword); ldapContextSource.setReferral(rangerLdapReferral); ldapContextSource.setCacheEnvironmentProperties(true); ldapContextSource.setAnonymousReadOnly(false); ldapContextSource.setPooled(true); if (rangerIsStartTlsEnabled) { ldapContextSource.setPooled(false); ldapContextSource.setAuthenticationStrategy(new DefaultTlsDirContextAuthenticationStrategy()); } ldapContextSource.afterPropertiesSet(); //String searchFilter="(sAMAccountName={0})"; if (rangerLdapUserSearchFilter==null || rangerLdapUserSearchFilter.trim().isEmpty()) { rangerLdapUserSearchFilter="(sAMAccountName={0})"; } FilterBasedLdapUserSearch userSearch=new FilterBasedLdapUserSearch(rangerLdapADBase, rangerLdapUserSearchFilter,ldapContextSource); userSearch.setSearchSubtree(true); BindAuthenticator bindAuthenticator = new BindAuthenticator(ldapContextSource); bindAuthenticator.setUserSearch(userSearch); bindAuthenticator.afterPropertiesSet(); LdapAuthenticationProvider ldapAuthenticationProvider = new LdapAuthenticationProvider(bindAuthenticator); if (userName != null && userPassword != null && !userName.trim().isEmpty() && !userPassword.trim().isEmpty()) { final List<GrantedAuthority> grantedAuths = new ArrayList<>(); grantedAuths.add(new SimpleGrantedAuthority(rangerLdapDefaultRole)); final UserDetails principal = new User(userName, userPassword,grantedAuths); final Authentication finalAuthentication = new UsernamePasswordAuthenticationToken(principal, userPassword, grantedAuths); authentication = ldapAuthenticationProvider.authenticate(finalAuthentication); authentication=getAuthenticationWithGrantedAuthority(authentication); return authentication; } else { return authentication; } } catch (Exception e) { logger.debug("AD Authentication Failed:", e); } return authentication; }
Example 12
Source File: AtlasLdapAuthenticationProvider.java From incubator-atlas with Apache License 2.0 | 5 votes |
private LdapContextSource getLdapContextSource() throws Exception { LdapContextSource ldapContextSource = new DefaultSpringSecurityContextSource( ldapURL); ldapContextSource.setUserDn(ldapBindDN); ldapContextSource.setPassword(ldapBindPassword); ldapContextSource.setReferral(ldapReferral); ldapContextSource.setCacheEnvironmentProperties(false); ldapContextSource.setAnonymousReadOnly(false); ldapContextSource.setPooled(true); ldapContextSource.afterPropertiesSet(); return ldapContextSource; }
Example 13
Source File: AtlasLdapAuthenticationProvider.java From atlas with Apache License 2.0 | 5 votes |
private LdapContextSource getLdapContextSource() throws Exception { LdapContextSource ldapContextSource = new DefaultSpringSecurityContextSource( ldapURL); ldapContextSource.setUserDn(ldapBindDN); ldapContextSource.setPassword(ldapBindPassword); ldapContextSource.setReferral(ldapReferral); ldapContextSource.setCacheEnvironmentProperties(false); ldapContextSource.setAnonymousReadOnly(false); ldapContextSource.setPooled(true); ldapContextSource.afterPropertiesSet(); return ldapContextSource; }
Example 14
Source File: AuthenticationCheck.java From ranger with Apache License 2.0 | 4 votes |
private Authentication getLdapBindAuthentication(String ldapUrl, String bindDn, String bindPassword, String userName, String userPassword) { Authentication result = null; try { LdapContextSource ldapContextSource = new DefaultSpringSecurityContextSource(ldapUrl); ldapContextSource.setUserDn(bindDn); ldapContextSource.setPassword(bindPassword); ldapContextSource.setReferral("follow"); ldapContextSource.setCacheEnvironmentProperties(false); ldapContextSource.setAnonymousReadOnly(true); ldapContextSource.setPooled(true); ldapContextSource.afterPropertiesSet(); DefaultLdapAuthoritiesPopulator defaultLdapAuthoritiesPopulator = new DefaultLdapAuthoritiesPopulator(ldapContextSource, groupSearchBase); defaultLdapAuthoritiesPopulator.setGroupRoleAttribute(roleAttribute); defaultLdapAuthoritiesPopulator.setGroupSearchFilter(groupSearchFilter); defaultLdapAuthoritiesPopulator.setIgnorePartialResultException(true); String searchFilter="(uid={0})"; FilterBasedLdapUserSearch userSearch=new FilterBasedLdapUserSearch(adDomain, searchFilter,ldapContextSource); userSearch.setSearchSubtree(true); BindAuthenticator bindAuthenticator = new BindAuthenticator(ldapContextSource); bindAuthenticator.setUserSearch(userSearch); String[] userDnPatterns = new String[] { userDnPattern }; bindAuthenticator.setUserDnPatterns(userDnPatterns); bindAuthenticator.afterPropertiesSet(); LdapAuthenticationProvider ldapAuthenticationProvider = new LdapAuthenticationProvider(bindAuthenticator,defaultLdapAuthoritiesPopulator); if (userName != null && userPassword != null && !userName.trim().isEmpty() && !userPassword.trim().isEmpty()) { final List<GrantedAuthority> grantedAuths = new ArrayList<>(); grantedAuths.add(new SimpleGrantedAuthority("ROLE_USER")); final UserDetails principal = new User(userName, userPassword, grantedAuths); final Authentication finalAuthentication = new UsernamePasswordAuthenticationToken(principal, userPassword, grantedAuths); result = ldapAuthenticationProvider.authenticate(finalAuthentication); } } catch (BadCredentialsException bce) { logFile.println("ERROR: LDAP Authentication Failed. Please verify values for ranger.admin.auth.sampleuser and " + "ranger.admin.auth.samplepassword\n"); } catch (Exception e) { logFile.println("ERROR: LDAP Authentication Failed: " + e); } return result; }
Example 15
Source File: RangerAuthenticationProvider.java From ranger with Apache License 2.0 | 4 votes |
private Authentication getLdapBindAuthentication(Authentication authentication) { try { String rangerLdapURL = PropertiesUtil.getProperty("ranger.ldap.url", ""); String rangerLdapUserDNPattern = PropertiesUtil.getProperty("ranger.ldap.user.dnpattern", ""); String rangerLdapGroupSearchBase = PropertiesUtil.getProperty("ranger.ldap.group.searchbase", ""); String rangerLdapGroupSearchFilter = PropertiesUtil.getProperty("ranger.ldap.group.searchfilter", ""); String rangerLdapGroupRoleAttribute = PropertiesUtil.getProperty("ranger.ldap.group.roleattribute", ""); String rangerLdapDefaultRole = PropertiesUtil.getProperty("ranger.ldap.default.role", "ROLE_USER"); String rangerLdapBase = PropertiesUtil.getProperty("ranger.ldap.base.dn", ""); String rangerLdapBindDN = PropertiesUtil.getProperty("ranger.ldap.bind.dn", ""); String rangerLdapBindPassword = PropertiesUtil.getProperty("ranger.ldap.bind.password", ""); String rangerLdapReferral = PropertiesUtil.getProperty("ranger.ldap.referral", "follow"); String rangerLdapUserSearchFilter = PropertiesUtil.getProperty("ranger.ldap.user.searchfilter", "(uid={0})"); boolean rangerIsStartTlsEnabled = Boolean.valueOf(PropertiesUtil.getProperty( "ranger.ldap.starttls", "false")); String userName = authentication.getName(); String userPassword = ""; if (authentication.getCredentials() != null) { userPassword = authentication.getCredentials().toString(); } LdapContextSource ldapContextSource = new DefaultSpringSecurityContextSource(rangerLdapURL); ldapContextSource.setUserDn(rangerLdapBindDN); ldapContextSource.setPassword(rangerLdapBindPassword); ldapContextSource.setReferral(rangerLdapReferral); ldapContextSource.setCacheEnvironmentProperties(false); ldapContextSource.setAnonymousReadOnly(false); ldapContextSource.setPooled(true); if (rangerIsStartTlsEnabled) { ldapContextSource.setPooled(false); ldapContextSource.setAuthenticationStrategy(new DefaultTlsDirContextAuthenticationStrategy()); } ldapContextSource.afterPropertiesSet(); DefaultLdapAuthoritiesPopulator defaultLdapAuthoritiesPopulator = new DefaultLdapAuthoritiesPopulator(ldapContextSource, rangerLdapGroupSearchBase); defaultLdapAuthoritiesPopulator.setGroupRoleAttribute(rangerLdapGroupRoleAttribute); defaultLdapAuthoritiesPopulator.setGroupSearchFilter(rangerLdapGroupSearchFilter); defaultLdapAuthoritiesPopulator.setIgnorePartialResultException(true); //String searchFilter="(uid={0})"; if (rangerLdapUserSearchFilter==null||rangerLdapUserSearchFilter.trim().isEmpty()) { rangerLdapUserSearchFilter="(uid={0})"; } FilterBasedLdapUserSearch userSearch=new FilterBasedLdapUserSearch(rangerLdapBase, rangerLdapUserSearchFilter,ldapContextSource); userSearch.setSearchSubtree(true); BindAuthenticator bindAuthenticator = new BindAuthenticator(ldapContextSource); bindAuthenticator.setUserSearch(userSearch); String[] userDnPatterns = new String[] { rangerLdapUserDNPattern }; bindAuthenticator.setUserDnPatterns(userDnPatterns); bindAuthenticator.afterPropertiesSet(); LdapAuthenticationProvider ldapAuthenticationProvider = new LdapAuthenticationProvider(bindAuthenticator,defaultLdapAuthoritiesPopulator); if (userName != null && userPassword != null && !userName.trim().isEmpty()&& !userPassword.trim().isEmpty()) { final List<GrantedAuthority> grantedAuths = new ArrayList<>(); grantedAuths.add(new SimpleGrantedAuthority(rangerLdapDefaultRole)); final UserDetails principal = new User(userName, userPassword,grantedAuths); final Authentication finalAuthentication = new UsernamePasswordAuthenticationToken(principal, userPassword, grantedAuths); authentication = ldapAuthenticationProvider.authenticate(finalAuthentication); authentication=getAuthenticationWithGrantedAuthority(authentication); return authentication; } else { return authentication; } } catch (Exception e) { logger.debug("LDAP Authentication Failed:", e); } return authentication; }
Example 16
Source File: SchemaToJavaAdITest.java From spring-ldap with Apache License 2.0 | 4 votes |
@Before public void setUp() throws Exception { // Create some basic converters and a converter manager converterManager = new ConverterManagerImpl(); Converter ptc = new FromStringConverter(); converterManager.addConverter(String.class, "", Byte.class, ptc); converterManager.addConverter(String.class, "", Short.class, ptc); converterManager.addConverter(String.class, "", Integer.class, ptc); converterManager.addConverter(String.class, "", Long.class, ptc); converterManager.addConverter(String.class, "", Double.class, ptc); converterManager.addConverter(String.class, "", Float.class, ptc); converterManager.addConverter(String.class, "", Boolean.class, ptc); Converter tsc = new ToStringConverter(); converterManager.addConverter(Byte.class, "", String.class, tsc); converterManager.addConverter(Short.class, "", String.class, tsc); converterManager.addConverter(Integer.class, "", String.class, tsc); converterManager.addConverter(Long.class, "", String.class, tsc); converterManager.addConverter(Double.class, "", String.class, tsc); converterManager.addConverter(Float.class, "", String.class, tsc); converterManager.addConverter(Boolean.class, "", String.class, tsc); // Bind to the directory contextSource = new LdapContextSource(); contextSource.setUrl("ldaps://127.0.0.1:" + port); contextSource.setUserDn(USER_DN); contextSource.setPassword(PASSWORD); contextSource.setPooled(false); contextSource.setBase("dc=261consulting,dc=local"); HashMap<String, Object> baseEnvironment = new HashMap<String, Object>() {{ put("java.naming.ldap.attributes.binary", "thumbnailLogo replPropertyMetaData partialAttributeSet registeredAddress userPassword telexNumber partialAttributeDeletionList mS-DS-ConsistencyGuid attributeCertificateAttribute thumbnailPhoto teletexTerminalIdentifier replUpToDateVector dSASignature objectGUID"); }}; contextSource.setBaseEnvironmentProperties(baseEnvironment); contextSource.afterPropertiesSet(); ldapTemplate = new LdapTemplate(contextSource); cleanup(); DirContextAdapter ctx = new DirContextAdapter("cn=William Hartnell,cn=Users"); ctx.setAttributeValues("objectclass", new String[]{"person","inetorgperson","organizationalperson","top"}); ctx.setAttributeValue("cn", "William Hartnell"); ctx.addAttributeValue("description", "First Doctor"); ctx.addAttributeValue("description", "Grumpy"); ctx.addAttributeValue("sn", "Hartnell"); ctx.addAttributeValue("telephonenumber", "1"); ldapTemplate.bind(ctx); }
Example 17
Source File: AtlasADAuthenticationProvider.java From incubator-atlas with Apache License 2.0 | 4 votes |
private Authentication getADBindAuthentication (Authentication authentication) { try { String userName = authentication.getName(); String userPassword = ""; if (authentication.getCredentials() != null) { userPassword = authentication.getCredentials().toString(); } LdapContextSource ldapContextSource = new DefaultSpringSecurityContextSource(adURL); ldapContextSource.setUserDn(adBindDN); ldapContextSource.setPassword(adBindPassword); ldapContextSource.setReferral(adReferral); ldapContextSource.setCacheEnvironmentProperties(true); ldapContextSource.setAnonymousReadOnly(false); ldapContextSource.setPooled(true); ldapContextSource.afterPropertiesSet(); if (adUserSearchFilter==null || adUserSearchFilter.trim().isEmpty()) { adUserSearchFilter="(sAMAccountName={0})"; } FilterBasedLdapUserSearch userSearch=new FilterBasedLdapUserSearch(adBase, adUserSearchFilter,ldapContextSource); userSearch.setSearchSubtree(true); BindAuthenticator bindAuthenticator = new BindAuthenticator(ldapContextSource); bindAuthenticator.setUserSearch(userSearch); bindAuthenticator.afterPropertiesSet(); LdapAuthenticationProvider ldapAuthenticationProvider = new LdapAuthenticationProvider(bindAuthenticator); if (userName != null && userPassword != null && !userName.trim().isEmpty() && !userPassword.trim().isEmpty()) { final List<GrantedAuthority> grantedAuths = getAuthorities(userName); final UserDetails principal = new User(userName, userPassword, grantedAuths); final Authentication finalAuthentication = new UsernamePasswordAuthenticationToken( principal, userPassword, grantedAuths); authentication = ldapAuthenticationProvider.authenticate(finalAuthentication); if (groupsFromUGI) { authentication = getAuthenticationWithGrantedAuthorityFromUGI(authentication); } return authentication; } else { LOG.error("AD Authentication Failed userName or userPassword is null or empty"); return null; } } catch (Exception e) { LOG.error("AD Authentication Failed:", e); return null; } }
Example 18
Source File: AtlasADAuthenticationProvider.java From atlas with Apache License 2.0 | 4 votes |
private Authentication getADBindAuthentication (Authentication authentication) { try { String userName = authentication.getName(); String userPassword = ""; if (authentication.getCredentials() != null) { userPassword = authentication.getCredentials().toString(); } LdapContextSource ldapContextSource = new DefaultSpringSecurityContextSource(adURL); ldapContextSource.setUserDn(adBindDN); ldapContextSource.setPassword(adBindPassword); ldapContextSource.setReferral(adReferral); ldapContextSource.setCacheEnvironmentProperties(true); ldapContextSource.setAnonymousReadOnly(false); ldapContextSource.setPooled(true); ldapContextSource.afterPropertiesSet(); FilterBasedLdapUserSearch userSearch=new FilterBasedLdapUserSearch(adBase, adUserSearchFilter,ldapContextSource); userSearch.setSearchSubtree(true); BindAuthenticator bindAuthenticator = new BindAuthenticator(ldapContextSource); bindAuthenticator.setUserSearch(userSearch); bindAuthenticator.afterPropertiesSet(); LdapAuthenticationProvider ldapAuthenticationProvider = new LdapAuthenticationProvider(bindAuthenticator); if (userName != null && userPassword != null && !userName.trim().isEmpty() && !userPassword.trim().isEmpty()) { final List<GrantedAuthority> grantedAuths = getAuthorities(userName); final UserDetails principal = new User(userName, userPassword, grantedAuths); final Authentication finalAuthentication = new UsernamePasswordAuthenticationToken( principal, userPassword, grantedAuths); authentication = ldapAuthenticationProvider.authenticate(finalAuthentication); if (groupsFromUGI) { authentication = getAuthenticationWithGrantedAuthorityFromUGI(authentication); } return authentication; } else { LOG.error("AD Authentication Failed userName or userPassword is null or empty"); return null; } } catch (Exception e) { LOG.error("AD Authentication Failed:", e); return null; } }