From 74a5a505d5f0e3ec02a2e89701757eabf09d1ec9 Mon Sep 17 00:00:00 2001 From: Robert Sanders Date: Mon, 18 Apr 2005 18:56:33 +0000 Subject: [PATCH] Updates to getGrantedAuthorityString as suggested by Matt DeHoust to make functionality match javadocs. --- .../ldap/LdapPasswordAuthenticationDao.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/sandbox/src/main/java/org/acegisecurity/providers/dao/ldap/LdapPasswordAuthenticationDao.java b/sandbox/src/main/java/org/acegisecurity/providers/dao/ldap/LdapPasswordAuthenticationDao.java index 742b726c99..e9cb085330 100644 --- a/sandbox/src/main/java/org/acegisecurity/providers/dao/ldap/LdapPasswordAuthenticationDao.java +++ b/sandbox/src/main/java/org/acegisecurity/providers/dao/ldap/LdapPasswordAuthenticationDao.java @@ -446,7 +446,7 @@ public class LdapPasswordAuthenticationDao implements PasswordAuthenticationDao if (upperCaseRoleNames) { roleName = roleName.toUpperCase(); } - GrantedAuthority ga = new GrantedAuthorityImpl(roleName); + GrantedAuthority ga = new GrantedAuthorityImpl( roleName.replaceAll("[,=\\s]", "_") ); if (log.isDebugEnabled()) { log.debug("GrantedAuthority: " + ga); @@ -454,6 +454,23 @@ public class LdapPasswordAuthenticationDao implements PasswordAuthenticationDao return ga; } + /* + public void testGetGrantedAuthorityString() { + LdapPasswordAuthenticationDao uut = new LdapPasswordAuthenticationDao(); + String[] test = { + "ROLE ABC DEF", "ROLE ABC,DEF", "ROLE ABC=DEF", "ROLE ABC_DEF", + "ROLE,ABC DEF", "ROLE,ABC,DEF", "ROLE,ABC=DEF", "ROLE,ABC_DEF", + "ROLE=ABC DEF", "ROLE=ABC,DEF", "ROLE=ABC=DEF", "ROLE=ABC_DEF", + "ROLE_ABC DEF", "ROLE_ABC,DEF", "ROLE_ABC=DEF", "ROLE_ABC_DEF", + }; + final String expected = "ROLE_ABC_DEF"; + + for (int i = 0; i < test.length; i++) { + assertEquals("Unexpected granted authority name.", expected, + uut.getGrantedAuthority(test[i]).getAuthority()); + } + } + */ /** * @return The InitialContextFactory for creating the root JNDI context; defaults to "com.sun.jndi.ldap.LdapCtxFactory"