Преглед изворни кода

LdapTemplate: Ignore NameNotFoundException

Roman Zabaluev пре 2 година
родитељ
комит
1aa4d66f8d

+ 5 - 1
kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/rbac/extractor/RbacLdapAuthoritiesExtractor.java

@@ -17,6 +17,7 @@ import org.springframework.ldap.core.DirContextOperations;
 import org.springframework.ldap.core.support.BaseLdapPathContextSource;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.ldap.SpringSecurityLdapTemplate;
 import org.springframework.security.ldap.userdetails.DefaultLdapAuthoritiesPopulator;
 import org.springframework.security.ldap.userdetails.LdapAuthoritiesPopulator;
 
@@ -59,7 +60,10 @@ public class RbacLdapAuthoritiesExtractor extends DefaultLdapAuthoritiesPopulato
         "Searching for roles for user [{}] with DN [{}], groupRoleAttribute [{}] and filter [{}] in search base [{}]",
         username, userDn, props.getGroupRoleAttribute(), getGroupSearchFilter(), groupSearchBase);
 
-    Set<Map<String, List<String>>> userRoles = getLdapTemplate().searchForMultipleAttributeValues(
+    var ldapTemplate = getLdapTemplate();
+    ldapTemplate.setIgnoreNameNotFoundException(true);
+
+    Set<Map<String, List<String>>> userRoles = ldapTemplate.searchForMultipleAttributeValues(
         groupSearchBase, getGroupSearchFilter(), new String[] {userDn, username},
         new String[] {props.getGroupRoleAttribute()});