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

SEC-807: Allow mapping to a standard Ldap UserDetails through the namespace
http://jira.springframework.org/browse/SEC-807. Added extra test for Ldap provider parser.

Luke Taylor пре 17 година
родитељ
комит
8281aeb0da

+ 18 - 5
core/src/test/java/org/springframework/security/config/LdapProviderBeanDefinitionParserTests.java

@@ -1,14 +1,18 @@
 package org.springframework.security.config;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.After;
+import org.junit.Test;
+import org.springframework.security.Authentication;
 import org.springframework.security.providers.ProviderManager;
 import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
 import org.springframework.security.providers.ldap.LdapAuthenticationProvider;
-import org.springframework.security.Authentication;
-import org.springframework.security.util.InMemoryXmlApplicationContext;
+import org.springframework.security.userdetails.ldap.InetOrgPersonContextMapper;
 import org.springframework.security.userdetails.ldap.LdapUserDetailsImpl;
-import static org.junit.Assert.*;
-import org.junit.Test;
-import org.junit.After;
+import org.springframework.security.util.FieldUtils;
+import org.springframework.security.util.InMemoryXmlApplicationContext;
 
 
 /**
@@ -82,6 +86,15 @@ public class LdapProviderBeanDefinitionParserTests {
                 "<ldap-authentication-provider />");
     }
     
+    @Test
+    public void inetOrgContextMapperIsSupported() throws Exception {
+        setContext(
+                "<ldap-server id='someServer' url='ldap://127.0.0.1:343/dc=springframework,dc=org'/>" +
+                "<ldap-authentication-provider user-details-class='inetOrgPerson'/>");
+        LdapAuthenticationProvider provider = getProvider();
+        assertTrue(FieldUtils.getFieldValue(provider, "userDetailsContextMapper") instanceof InetOrgPersonContextMapper);
+    }    
+    
     private void setContext(String context) {
         appCtx = new InMemoryXmlApplicationContext(context);
     }