Java Code Examples for org.springframework.ldap.core.support.LdapContextSource#setAuthenticationStrategy()
The following examples show how to use
org.springframework.ldap.core.support.LdapContextSource#setAuthenticationStrategy() .
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: LdapManager.java From blackduck-alert with Apache License 2.0 | 6 votes |
public Optional<LdapAuthenticationProvider> createAuthProvider(FieldAccessor configuration) throws AlertConfigurationException { try { boolean enabled = configuration.getBooleanOrFalse(AuthenticationDescriptor.KEY_LDAP_ENABLED); if (!enabled) { return Optional.empty(); } LdapContextSource ldapContextSource = new LdapContextSource(); String ldapServer = configuration.getStringOrEmpty(AuthenticationDescriptor.KEY_LDAP_SERVER); String managerDN = configuration.getStringOrEmpty(AuthenticationDescriptor.KEY_LDAP_MANAGER_DN); String managerPassword = configuration.getStringOrEmpty(AuthenticationDescriptor.KEY_LDAP_MANAGER_PWD); String ldapReferral = configuration.getStringOrEmpty(AuthenticationDescriptor.KEY_LDAP_REFERRAL); if (StringUtils.isNotBlank(ldapServer)) { ldapContextSource.setUrl(ldapServer); ldapContextSource.setUserDn(managerDN); ldapContextSource.setPassword(managerPassword); ldapContextSource.setReferral(ldapReferral); ldapContextSource.setAuthenticationStrategy(createAuthenticationStrategy(configuration)); } ldapContextSource.afterPropertiesSet(); return Optional.of(updateAuthenticationProvider(configuration, ldapContextSource)); } catch (IllegalArgumentException ex) { throw new AlertConfigurationException("Error creating LDAP Context Source", ex); } }
Example 2
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 3
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 4
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 5
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; }