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.
This commit is contained in:
Luke Taylor 2008-04-29 18:01:59 +00:00
parent e4b32b8d29
commit 8281aeb0da
1 changed files with 18 additions and 5 deletions

View File

@ -1,14 +1,18 @@
package org.springframework.security.config; 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.ProviderManager;
import org.springframework.security.providers.UsernamePasswordAuthenticationToken; import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
import org.springframework.security.providers.ldap.LdapAuthenticationProvider; import org.springframework.security.providers.ldap.LdapAuthenticationProvider;
import org.springframework.security.Authentication; import org.springframework.security.userdetails.ldap.InetOrgPersonContextMapper;
import org.springframework.security.util.InMemoryXmlApplicationContext;
import org.springframework.security.userdetails.ldap.LdapUserDetailsImpl; import org.springframework.security.userdetails.ldap.LdapUserDetailsImpl;
import static org.junit.Assert.*; import org.springframework.security.util.FieldUtils;
import org.junit.Test; import org.springframework.security.util.InMemoryXmlApplicationContext;
import org.junit.After;
/** /**
@ -82,6 +86,15 @@ public class LdapProviderBeanDefinitionParserTests {
"<ldap-authentication-provider />"); "<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) { private void setContext(String context) {
appCtx = new InMemoryXmlApplicationContext(context); appCtx = new InMemoryXmlApplicationContext(context);
} }