Index: magnolia-ldap/src/main/java/info/magnolia/jaas/sp/ldap/Tester.java =================================================================== --- magnolia-ldap/src/main/java/info/magnolia/jaas/sp/ldap/Tester.java (revision 50977) +++ magnolia-ldap/src/main/java/info/magnolia/jaas/sp/ldap/Tester.java (working copy) @@ -112,13 +112,24 @@ } log.debug("State: " + state); + + final String groupResolverClass; + final String roleResolverClass; + if (loginModule instanceof LDAPAuthenticationModule) { + groupResolverClass = ((LDAPAuthenticationModule) loginModule).getProperties().getProperty(AttributeMap.GROUP_RESOLVER); + roleResolverClass = ((LDAPAuthenticationModule) loginModule).getProperties().getProperty(AttributeMap.ROLE_RESOLVER); + } else { + groupResolverClass = null; + roleResolverClass = null; + } + final Set groupNames = (Set) state.get("groupNames"); - log.info("Group names:{}", groupNames.isEmpty() ? " (none)" : ""); + log.info("Group names:{}", getNoteForResolvers(groupNames, groupResolverClass)); for (String groupName : groupNames) { log.info("\t{}", groupName); } final Set roleNames = (Set) state.get("roleNames"); - log.info("Role names:{}", roleNames.isEmpty() ? " (none)" : ""); + log.info("Role names:{}", getNoteForResolvers(roleNames, roleResolverClass)); for (String roleName : roleNames) { log.info("\t{}", roleName); } @@ -128,6 +139,16 @@ } } + private String getNoteForResolvers(Set names, String resolverClass) { + if (resolverClass == null || resolverClass.startsWith("info.magnolia.jaas.sp.ldap.resolver.Magnolia")) { + return " (can only be resolved when connected to Magnolia, skipping)"; + } + if (!resolverClass.startsWith("info.magnolia")) { + return " (using a 3rd party resolver, results might not be relevant in this test tool)"; + } + return names.isEmpty() ? " (none)" : ""; + } + /** * A dummy implementation of SecuritySupport and User/Group/RoleManager, which just logs all requests. */ @@ -154,7 +175,7 @@ } public Group getGroup(String name) throws UnsupportedOperationException, AccessDeniedException { - log.debug("Getting group " + name); + log.debug("Mocking group " + name); return null; } @@ -171,7 +192,7 @@ } public Role getRole(String name) throws UnsupportedOperationException { - log.debug("Getting role " + name); + log.debug("Mocking role " + name); return null; } }; @@ -189,7 +210,7 @@ } public User getUser(String name) throws UnsupportedOperationException { - log.debug("Getting user " + name + " from realm " + realmName); + log.debug("Mocking user " + name + " from realm " + realmName); return null; }