Index: lib/metacat.properties
===================================================================
--- lib/metacat.properties	(revision 4728)
+++ lib/metacat.properties	(revision 4729)
@@ -122,6 +122,7 @@
 auth.administrators=
 auth.url=ldap://ldap.ecoinformatics.org:389/
 auth.surl=ldap://ldap.ecoinformatics.org:389/
+auth.base=dc=ecoinformatics,dc=org
 auth.allowedSubmitters=
 auth.deniedSubmitters=
 auth.moderators=cn=knb-prod,o=NCEAS,dc=ecoinformatics,dc=org:cn=esa-moderators,dc=ecoinformatics,dc=org
@@ -155,90 +156,6 @@
 
 ############### Organization Values ###############
 
-#ldap.NCEAS.dn=o=NCEAS,dc=ecoinformatics,dc=org
-organization.configured.NCEAS=false
-organization.name.NCEAS=National Center for Ecological Analysis and Synthesis
-organization.base.NCEAS=dc=ecoinformatics,dc=org
-organization.org.NCEAS=o=NCEAS
-organization.user.NCEAS=cn=Manager
-organization.password.NCEAS=
-#ldap.OBFS.dn=o=OBFS,dc=ecoinformatics,dc=org
-organization.configured.OBFS=false
-organization.name.OBFS=Organization of Biological Field Stations
-organization.base.OBFS=dc=ecoinformatics,dc=org
-organization.org.OBFS=o=OBFS
-organization.user.OBFS=cn=Manager
-organization.password.OBFS=
-#ldap.OSUSB.dn=o=OSUSB,dc=ecoinformatics,dc=org
-organization.configured.OSUSB=false
-organization.name.OSUSB=
-organization.base.OSUSB=dc=ecoinformatics,dc=org
-organization.org.OSUSB=o=OSUSB
-organization.user.OSUSB=cn=Manager
-organization.password.OSUSB=
-#ldap.UCNRS.dn=ou=people,O=ucnrs.org
-organization.configured.UCNRS=false
-organization.name.UCNRS=
-organization.base.UCNRS=ou=people,O=ucnrs.org
-organization.org.UCNRS=
-organization.user.UCNRS=cn=Manager
-organization.password.UCNRS=
-#ldap.KU.dn=o=KU,dc=ecoinformatics,dc=org
-organization.configured.KU=false
-organization.name.KU=
-organization.base.KU=dc=ecoinformatics,dc=org
-organization.org.KU=o=KU
-organization.user.KU=cn=Manager
-organization.password.KU=
-#ldap.LTER.dn=o=LTER,dc=ecoinformatics,dc=org
-organization.configured.LTER=false
-organization.name.LTER=
-organization.base.LTER=dc=ecoinformatics,dc=org
-organization.org.LTER=o=LTER
-organization.user.LTER=cn=Manager
-organization.password.LTER=
-#ldap.UVM.dn=o=UVM,dc=ecoinformatics,dc=org
-organization.configured.UVM=false
-organization.name.UVM=
-organization.base.UVM=dc=ecoinformatics,dc=org
-organization.org.UVM=o=UVM
-organization.user.UVM=cn=Manager
-organization.password.UVM=
-#ldap.SDSC.dn=o=SDSC,dc=ecoinformatics,dc=org
-organization.configured.SDSC=false
-organization.name.SDSC=
-organization.base.SDSC=dc=ecoinformatics,dc=org
-organization.org.SDSC=o=SDSC
-organization.user.SDSC=cn=Manager
-organization.password.SDSC=
-#ldap.MSU.dn=o=MSU,dc=ecoinformatics,dc=org
-organization.configured.MSU=false
-organization.name.MSU=
-organization.base.MSU=dc=ecoinformatics,dc=org
-organization.org.MSU=
-organization.user.MSU=cn=Manager,dc=ecoinformatics,dc=org
-organization.password.MSU=
-#ldap.NAPIER.dn=o=NAPIER,dc=ecoinformatics,dc=org
-organization.configured.NAPIER=false
-organization.name.NAPIER=
-organization.base.NAPIER=dc=ecoinformatics,dc=org
-organization.org.NAPIER=o=NAPIER
-organization.user.NAPIER=cn=Manager
-organization.password.NAPIER=
-#ldap.SANPARKS.dn=o=SANParks,dc=ecoinformatics,dc=org
-organization.configured.SANPARKS=false
-organization.name.SANPARKS=Kruger National Park
-organization.base.SANPARKS=dc=ecoinformatics,dc=org
-organization.org.SANPARKS=
-organization.user.SANPARKS=cn=Manager
-organization.password.SANPARKS=
-#ldap.SAEON.dn=o=SAEON,dc=ecoinformatics,dc=org
-organization.configured.SAEON=false
-organization.name.SAEON=South African Environmental Observation Network Repository
-organization.base.SAEON=dc=ecoinformatics,dc=org
-organization.org.SAEON=
-organization.user.SAEON=cn=Manager
-organization.password.SAEON=
 #ldap.unaffiliated.dn=o=unaffiliated,dc=ecoinformatics,dc=org
 organization.configured.unaffiliated=false
 organization.name.unaffiliated=
Index: lib/auth.properties.metadata.xml
===================================================================
--- lib/auth.properties.metadata.xml	(revision 4728)
+++ lib/auth.properties.metadata.xml	(revision 4729)
@@ -36,12 +36,21 @@
 		<description>Authentication Secure Server URL.</description>
 		<helpFile>properties.html#auth.surl</helpFile>
 	</config>
+	
+	<config>
+		<key>auth.base</key>
+		<label>Authentication Base</label>
+		<group>1</group>
+		<index>4</index>
+		<description>Base part of Distinguished Name that Metacat uses for authentication.</description>
+		<helpFile>properties.html#auth.base</helpFile>
+	</config>
 
 	<config>
 		<key>auth.administrators</key>
 		<label>Metacat Administrators</label>
 		<group>1</group>
-		<index>4</index>
+		<index>5</index>
 		<description>Authentication users or groups for Metacat administration. 
 			Typically, this holds LDAP credentials.
 			&lt;font color="red"&gt; Note: this must be set to a username or
Index: src/edu/ucsb/nceas/metacat/advancedsearch/MetacatHelper.java
===================================================================
--- src/edu/ucsb/nceas/metacat/advancedsearch/MetacatHelper.java	(revision 4728)
+++ src/edu/ucsb/nceas/metacat/advancedsearch/MetacatHelper.java	(revision 4729)
@@ -24,11 +24,17 @@
 
 package edu.ucsb.nceas.metacat.advancedsearch;
 
+import edu.ucsb.nceas.metacat.AuthLdap;
+import edu.ucsb.nceas.metacat.service.PropertyService;
+import edu.ucsb.nceas.utilities.PropertyNotFoundException;
+
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
+import org.apache.log4j.Logger;
 
+
 /**
  * @author dcosta
  * 
@@ -36,33 +42,47 @@
  * classes interact with Metacat.
  */
 public class MetacatHelper {
-  
+
+	private static Logger logMetacat = Logger.getLogger(AuthLdap.class);
+	
   /**
-   * Constructs a DN (Distinguished Name) string for the ecoinformatics.org
-   * LDAP.
-   * 
-   * @param username       The LDAP uid, e.g. "dcosta"
-   * @param organization   The LDAP organization, e.g. "LTER"
-   * @return DN            The distinguished name string.
-   */
-  public String constructDN(final String username, final String organization) {
-    final String DN = "uid=" + username + 
-                      ",o=" + organization + 
-                      ",dc=ecoinformatics,dc=org";    
-    
-    return DN;
-  }
+	 * Constructs a DN (Distinguished Name) string for the ecoinformatics.org
+	 * LDAP.
+	 * 
+	 * @param username
+	 *            The LDAP uid, e.g. "dcosta"
+	 * @param organization
+	 *            The LDAP organization, e.g. "LTER"
+	 * @return DN The distinguished name string.
+	 */
+	public String constructDN(final String username, final String organization) {
+		String DC;
+		try {
+			DC = PropertyService.getProperty("auth.base");
+		} catch (PropertyNotFoundException pnfe) {
+			DC = "dc=ecoinformatics,dc=org";
+			logMetacat.error("Could not find property: auth.base.  Setting to: " +
+					"dc=ecoinformatics,dc=org : " + pnfe.getMessage());
+		}
+		final String DN = "uid=" + username + ",o=" + organization
+				+ "," + DC;
+
+		return DN;
+	}
   
 
   /**
-   * Constructs a URL to the metacat servlet.
-   * 
-   * @param serverName   A server name, e.g. "prairie.lternet.edu"
-   * @param serverPort   A server port, e.g. 8080. If no port is required in
-   *                     the URL, pass a 0 and the argument will be ignored.
-   * @param contextString The context under which metacat is running, e.g. "knb".
-   * @return metacatURL  The URL to the metacat servlet.
-   */
+	 * Constructs a URL to the metacat servlet.
+	 * 
+	 * @param serverName
+	 *            A server name, e.g. "prairie.lternet.edu"
+	 * @param serverPort
+	 *            A server port, e.g. 8080. If no port is required in the URL,
+	 *            pass a 0 and the argument will be ignored.
+	 * @param contextString
+	 *            The context under which metacat is running, e.g. "knb".
+	 * @return metacatURL The URL to the metacat servlet.
+	 */
   public String constructMetacatURL(final String serverName, 
                                     final int serverPort,
                                     final String contextString) {
Index: src/edu/ucsb/nceas/metacat/AuthLdap.java
===================================================================
--- src/edu/ucsb/nceas/metacat/AuthLdap.java	(revision 4728)
+++ src/edu/ucsb/nceas/metacat/AuthLdap.java	(revision 4729)
@@ -92,10 +92,7 @@
 		try {
 			this.ldapUrl = PropertyService.getProperty("auth.url");
 			this.ldapsUrl = PropertyService.getProperty("auth.surl");
-			// use the NCEAS base as a fallback. Normally, the base will be
-			// parsed from the user during authentication
-			// TODO MCD this may need to remain always at NCEAS value
-			this.ldapBase = PropertyService.getProperty("organization.base.NCEAS");
+			this.ldapBase = PropertyService.getProperty("auth.base");
 			this.referral = PropertyService.getProperty("ldap.referral");
 			this.ldapConnectTimeLimit = PropertyService
 					.getProperty("ldap.connectTimeLimit");
Index: docs/user/properties.html
===================================================================
--- docs/user/properties.html	(revision 4728)
+++ docs/user/properties.html	(revision 4729)
@@ -1056,6 +1056,25 @@
     <h2 class="property-inline"> Example: </h2> 
     <p class="property-text">ldap://ldap.ecoinformatics.org:389/</p>
   </div>   
+
+  <a name="auth.base"></a><h1 class="property-main"> auth.base </h1>
+  <div class="property-description-line">
+    <h2 class="property-inline"> Default Value: </h2> 
+    <p class="property-text">dc=ecoinformatics,dc=org</p>
+  </div>
+  <div class="property-description-line">
+    <h2 class="property-inline"> Set Method: </h2> 
+    <p class="property-text">Configuration Utility</p>
+  </div>
+  <div class="property-description-line">
+    <h2 class="property-inline"> Description: </h2> 
+    <p class="property-text"> The base part of the distinguished name that 
+    metacat uses for authentication.</p>
+  </div>
+  <div class="property-description-line">
+    <h2 class="property-inline"> Example: </h2> 
+    <p class="property-text">dc=ecoinformatics,dc=org</p>
+  </div> 
  
   <a name="auth.allowedSubmitters"></a><h1 class="property-main"> auth.allowedSubmitters </h1>
   <div class="property-description-line">
