Index: LDAPLoginModule.java =================================================================== --- LDAPLoginModule.java (revision 4) +++ LDAPLoginModule.java (working copy) @@ -62,6 +62,7 @@ private static final String USER_ROLE_NAME = "userRoleName"; private static final String EXPAND_ROLES = "expandRoles"; private static final String EXPAND_ROLES_MATCHING = "expandRolesMatching"; + private static final String FOLLOW_REFERRALS = DirContext.REFERRAL; private static Logger log = LoggerFactory.getLogger(LDAPLoginModule.class); @@ -95,6 +96,8 @@ new LDAPLoginProperty (USER_ROLE_NAME, (String)options.get(USER_ROLE_NAME)), new LDAPLoginProperty (EXPAND_ROLES, (String) options.get(EXPAND_ROLES)), new LDAPLoginProperty (EXPAND_ROLES_MATCHING, (String) options.get(EXPAND_ROLES_MATCHING)), + new LDAPLoginProperty (FOLLOW_REFERRALS, (String) options.get(FOLLOW_REFERRALS)), + }; } @@ -431,6 +434,9 @@ if (isLoginPropertySet(CONNECTION_PASSWORD)) { env.put(Context.SECURITY_CREDENTIALS, getLDAPPropertyValue(CONNECTION_PASSWORD)); } + if (isLoginPropertySet(FOLLOW_REFERRALS)) { + env.put(Context.REFERRAL, getLDAPPropertyValue(FOLLOW_REFERRALS)); + } env.put(Context.SECURITY_PROTOCOL, getLDAPPropertyValue(CONNECTION_PROTOCOL)); env.put(Context.PROVIDER_URL, getLDAPPropertyValue(CONNECTION_URL)); env.put(Context.SECURITY_AUTHENTICATION, getLDAPPropertyValue(AUTHENTICATION));