Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 54073 invoked from network); 16 Jun 2009 20:25:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 16 Jun 2009 20:25:37 -0000 Received: (qmail 30753 invoked by uid 500); 16 Jun 2009 20:25:48 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 30685 invoked by uid 500); 16 Jun 2009 20:25:48 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 30569 invoked by uid 99); 16 Jun 2009 20:25:48 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Jun 2009 20:25:47 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Jun 2009 20:25:45 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id BAF3723888E7; Tue, 16 Jun 2009 20:25:25 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r785374 - /geronimo/server/trunk/framework/modules/geronimo-security/src/main/java/org/apache/geronimo/security/realm/providers/LDAPLoginModule.java Date: Tue, 16 Jun 2009 20:25:25 -0000 To: scm@geronimo.apache.org From: gawor@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090616202525.BAF3723888E7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gawor Date: Tue Jun 16 20:25:25 2009 New Revision: 785374 URL: http://svn.apache.org/viewvc?rev=785374&view=rev Log: follow referrals in ldap login module (GERONIMO-4643) Modified: geronimo/server/trunk/framework/modules/geronimo-security/src/main/java/org/apache/geronimo/security/realm/providers/LDAPLoginModule.java Modified: geronimo/server/trunk/framework/modules/geronimo-security/src/main/java/org/apache/geronimo/security/realm/providers/LDAPLoginModule.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-security/src/main/java/org/apache/geronimo/security/realm/providers/LDAPLoginModule.java?rev=785374&r1=785373&r2=785374&view=diff ============================================================================== --- geronimo/server/trunk/framework/modules/geronimo-security/src/main/java/org/apache/geronimo/security/realm/providers/LDAPLoginModule.java (original) +++ geronimo/server/trunk/framework/modules/geronimo-security/src/main/java/org/apache/geronimo/security/realm/providers/LDAPLoginModule.java Tue Jun 16 20:25:25 2009 @@ -87,10 +87,12 @@ private static final String ROLE_SEARCH_MATCHING = "roleSearchMatching"; private static final String ROLE_SEARCH_SUBTREE = "roleSearchSubtree"; private static final String USER_ROLE_NAME = "userRoleName"; + private static final String FOLLOW_REFERRALS = "followReferrals"; + public final static List supportedOptions = Collections.unmodifiableList(Arrays.asList(INITIAL_CONTEXT_FACTORY, CONNECTION_URL, CONNECTION_USERNAME, CONNECTION_PASSWORD, CONNECTION_PROTOCOL, AUTHENTICATION, USER_BASE, USER_SEARCH_MATCHING, USER_SEARCH_SUBTREE, ROLE_BASE, ROLE_NAME, ROLE_SEARCH_MATCHING, ROLE_SEARCH_SUBTREE, - USER_ROLE_NAME)); + USER_ROLE_NAME, FOLLOW_REFERRALS)); private String initialContextFactory; private String connectionURL; @@ -102,6 +104,7 @@ private String roleBase; private String roleName; private String userRoleName; + private boolean followReferrals = true; private String cbUsername; private String cbPassword; @@ -145,6 +148,8 @@ roleSearchMatchingFormat = new MessageFormat(roleSearchMatching); userSearchSubtreeBool = Boolean.valueOf(userSearchSubtree); roleSearchSubtreeBool = Boolean.valueOf(roleSearchSubtree); + String followReferralsStr = (String) options.get(FOLLOW_REFERRALS); + followReferrals = (followReferralsStr == null) ? true : Boolean.valueOf(followReferralsStr); } /** @@ -451,6 +456,7 @@ env.put(Context.SECURITY_PROTOCOL, connectionProtocol == null ? "" : connectionProtocol); env.put(Context.PROVIDER_URL, connectionURL == null ? "" : connectionURL); env.put(Context.SECURITY_AUTHENTICATION, authentication == null ? "" : authentication); + env.put(Context.REFERRAL, (followReferrals) ? "follow" : "ignore"); context = new InitialDirContext(env); } catch (NamingException e) { log.error("Failed to open context", e);