NIFI-655:
- Adding support for specifying the user search base and user search filter in 
the active directory provider.

Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/09cb6088
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/09cb6088
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/09cb6088

Branch: refs/heads/NIFI-655
Commit: 09cb6088595918b87753ca4281180e99dc106baa
Parents: 6f82802
Author: Matt Gilman <[email protected]>
Authored: Thu Nov 12 21:37:55 2015 -0500
Committer: Matt Gilman <[email protected]>
Committed: Thu Nov 12 21:37:55 2015 -0500

----------------------------------------------------------------------
 .../nifi/ldap/ActiveDirectoryProvider.java      | 21 ++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/09cb6088/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers/src/main/java/org/apache/nifi/ldap/ActiveDirectoryProvider.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers/src/main/java/org/apache/nifi/ldap/ActiveDirectoryProvider.java
 
b/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers/src/main/java/org/apache/nifi/ldap/ActiveDirectoryProvider.java
index 7be8ec9..8397f16 100644
--- 
a/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers/src/main/java/org/apache/nifi/ldap/ActiveDirectoryProvider.java
+++ 
b/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers/src/main/java/org/apache/nifi/ldap/ActiveDirectoryProvider.java
@@ -29,18 +29,23 @@ public class ActiveDirectoryProvider extends 
AbstractLdapProvider {
 
     @Override
     protected AbstractLdapAuthenticationProvider 
getLdapAuthenticationProvider(LoginIdentityProviderConfigurationContext 
configurationContext) throws ProviderCreationException {
-        final String domain = configurationContext.getProperty("Domain");
-        if (StringUtils.isBlank(domain)) {
-            throw new ProviderCreationException("The Active Directory Domain 
must be specified.");
-        }
 
         final String url = configurationContext.getProperty("Url");
         if (StringUtils.isBlank(url)) {
-            throw new ProviderCreationException("The Active Directory Url must 
be specified.");
+            throw new ProviderCreationException("The Active Directory 'Url' 
must be specified.");
         }
 
-        final String rootDn = configurationContext.getProperty("Root DN");
-
-        return new ActiveDirectoryLdapAuthenticationProvider(domain, url, 
StringUtils.isBlank(rootDn) ? null : rootDn);
+        final String domain = configurationContext.getProperty("Domain");
+        final String userSearchBase = configurationContext.getProperty("User 
Search Base");
+        
+        final ActiveDirectoryLdapAuthenticationProvider 
activeDirectoryAuthenticationProvider = 
+                new 
ActiveDirectoryLdapAuthenticationProvider(StringUtils.isBlank(domain) ? null : 
domain, url, StringUtils.isBlank(userSearchBase) ? null : userSearchBase);
+        
+        final String userSearchFilter = configurationContext.getProperty("User 
Search Filter");
+        if (StringUtils.isNotBlank(userSearchFilter)) {
+            
activeDirectoryAuthenticationProvider.setSearchFilter(userSearchFilter);
+        }
+        
+        return activeDirectoryAuthenticationProvider;
     }
 }

Reply via email to