You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2012/09/11 23:46:49 UTC
svn commit: r1383630 -
/manifoldcf/branches/CONNECTORS-515/connectors/ldap/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/ldap/LDAPAuthority.java
Author: kwright
Date: Tue Sep 11 21:46:48 2012
New Revision: 1383630
URL: http://svn.apache.org/viewvc?rev=1383630&view=rev
Log:
Reformat, and add i18n support.
Modified:
manifoldcf/branches/CONNECTORS-515/connectors/ldap/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/ldap/LDAPAuthority.java
Modified: manifoldcf/branches/CONNECTORS-515/connectors/ldap/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/ldap/LDAPAuthority.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-515/connectors/ldap/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/ldap/LDAPAuthority.java?rev=1383630&r1=1383629&r2=1383630&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-515/connectors/ldap/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/ldap/LDAPAuthority.java (original)
+++ manifoldcf/branches/CONNECTORS-515/connectors/ldap/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/ldap/LDAPAuthority.java Tue Sep 11 21:46:48 2012
@@ -50,9 +50,9 @@ public class LDAPAuthority extends org.a
*/
private static final String globalDenyToken = "DEAD_AUTHORITY";
private static final AuthorizationResponse unreachableResponse = new AuthorizationResponse(new String[]{globalDenyToken},
- AuthorizationResponse.RESPONSE_UNREACHABLE);
+ AuthorizationResponse.RESPONSE_UNREACHABLE);
private static final AuthorizationResponse userNotFoundResponse = new AuthorizationResponse(new String[]{globalDenyToken},
- AuthorizationResponse.RESPONSE_USERNOTFOUND);
+ AuthorizationResponse.RESPONSE_USERNOTFOUND);
private String serverURL;
@@ -69,55 +69,38 @@ public class LDAPAuthority extends org.a
}
/**
- * Set thread context.
- */
- @Override
- public void setThreadContext(IThreadContext tc)
- throws ManifoldCFException {
- super.setThreadContext(tc);
- }
-
- /**
- * Clear thread context.
- */
- @Override
- public void clearThreadContext() {
- super.clearThreadContext();
- }
-
- /**
* Connect. The configuration parameters are included.
*
* @param configParams are the configuration parameters for this connection.
*/
@Override
public void connect(ConfigParams configParams) {
- super.connect(configParams);
-
- serverURL = getParam( configParams, "ldapServerUrl", "ldap://ldap.office.com:389/dc=office,dc=com");
- userBase = getParam( configParams, "ldapUserBase", "ou=People" );
- userSearch = getParam( configParams, "ldapUserSearch", "(&(objectClass=inetOrgPerson)(uid={0}))" );
- groupBase = getParam( configParams, "ldapGroupBase", "ou=Groups" );
- groupSearch = getParam( configParams, "ldapGroupSearch", "(&(objectClass=groupOfNames)(member={0}))" );
- groupNameAttr = getParam( configParams, "ldapGroupNameAttr", "cn" );
-
- Hashtable env = new Hashtable();
- env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
- env.put(Context.PROVIDER_URL, serverURL);
+ super.connect(configParams);
- String em = "";
- try {
- if (session == null) {
- session = new InitialLdapContext(env, null);
- } else {
- session.reconnect(null);
- }
- } catch (AuthenticationException e) {
- } catch (CommunicationException e) {
- } catch (NamingException e) {
- em = e.toString();
+ serverURL = getParam( configParams, "ldapServerUrl", "ldap://ldap.office.com:389/dc=office,dc=com");
+ userBase = getParam( configParams, "ldapUserBase", "ou=People" );
+ userSearch = getParam( configParams, "ldapUserSearch", "(&(objectClass=inetOrgPerson)(uid={0}))" );
+ groupBase = getParam( configParams, "ldapGroupBase", "ou=Groups" );
+ groupSearch = getParam( configParams, "ldapGroupSearch", "(&(objectClass=groupOfNames)(member={0}))" );
+ groupNameAttr = getParam( configParams, "ldapGroupNameAttr", "cn" );
+
+ Hashtable env = new Hashtable();
+ env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
+ env.put(Context.PROVIDER_URL, serverURL);
+
+ String em = "";
+ try {
+ if (session == null) {
+ session = new InitialLdapContext(env, null);
+ } else {
+ session.reconnect(null);
}
- em = em + "";
+ } catch (AuthenticationException e) {
+ } catch (CommunicationException e) {
+ } catch (NamingException e) {
+ em = e.toString();
+ }
+ em = em + "";
}
// All methods below this line will ONLY be called if a connect() call succeeded
@@ -127,8 +110,9 @@ public class LDAPAuthority extends org.a
*/
@Override
public String check()
- throws ManifoldCFException {
- return super.check();
+ throws ManifoldCFException {
+ // MHL for a real check
+ return super.check();
}
/**
@@ -136,8 +120,8 @@ public class LDAPAuthority extends org.a
*/
@Override
public void poll()
- throws ManifoldCFException {
- super.poll();
+ throws ManifoldCFException {
+ super.poll();
}
/**
@@ -146,16 +130,16 @@ public class LDAPAuthority extends org.a
*/
@Override
public void disconnect()
- throws ManifoldCFException {
- if (session != null) {
- try {
- session.close();
- } catch (NamingException e) {
- // Eat this error
- }
- session = null;
+ throws ManifoldCFException {
+ if (session != null) {
+ try {
+ session.close();
+ } catch (NamingException e) {
+ // Eat this error
}
- super.disconnect();
+ session = null;
+ }
+ super.disconnect();
}
/**
@@ -168,50 +152,50 @@ public class LDAPAuthority extends org.a
*/
@Override
public AuthorizationResponse getAuthorizationResponse(String userName)
- throws ManifoldCFException {
- try {
- //Get DistinguishedName (for this method we are using DomainPart as a searchBase ie: DC=qa-ad-76,DC=metacarta,DC=com")
- String usrDN = getDistinguishedName(session, userName);
- if (usrDN == null) {
- return userNotFoundResponse;
- }
-
- //specify the LDAP search filter
- String searchFilter = groupSearch.replaceAll( "\\{0\\}", ldapEscape(usrDN));
- SearchControls searchCtls = new SearchControls();
- searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
- String returnedAtts[] = {groupNameAttr};
- searchCtls.setReturningAttributes(returnedAtts);
-
- //Search for tokens. Since every user *must* have a SID, the "no user" detection should be safe.
- NamingEnumeration answer = session.search(groupBase, searchFilter, searchCtls);
-
- ArrayList theGroups = new ArrayList();
-
- while (answer.hasMoreElements()) {
- SearchResult sr = (SearchResult) answer.next();
- Attributes attrs = sr.getAttributes();
- if (attrs != null) {
- theGroups.add(attrs.get(groupNameAttr).get().toString());
- }
- }
-
- String[] tokens = new String[theGroups.size()];
- int k = 0;
- while (k < tokens.length) {
- tokens[k] = (String) theGroups.get(k);
- k++;
- }
-
- return new AuthorizationResponse(tokens, AuthorizationResponse.RESPONSE_OK);
-
- } catch (NameNotFoundException e) {
- // This means that the user doesn't exist
- return userNotFoundResponse;
- } catch (NamingException e) {
- // Unreachable
- return unreachableResponse;
+ throws ManifoldCFException {
+ try {
+ //Get DistinguishedName (for this method we are using DomainPart as a searchBase ie: DC=qa-ad-76,DC=metacarta,DC=com")
+ String usrDN = getDistinguishedName(session, userName);
+ if (usrDN == null) {
+ return userNotFoundResponse;
}
+
+ //specify the LDAP search filter
+ String searchFilter = groupSearch.replaceAll( "\\{0\\}", ldapEscape(usrDN));
+ SearchControls searchCtls = new SearchControls();
+ searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
+ String returnedAtts[] = {groupNameAttr};
+ searchCtls.setReturningAttributes(returnedAtts);
+
+ //Search for tokens. Since every user *must* have a SID, the "no user" detection should be safe.
+ NamingEnumeration answer = session.search(groupBase, searchFilter, searchCtls);
+
+ ArrayList theGroups = new ArrayList();
+
+ while (answer.hasMoreElements()) {
+ SearchResult sr = (SearchResult) answer.next();
+ Attributes attrs = sr.getAttributes();
+ if (attrs != null) {
+ theGroups.add(attrs.get(groupNameAttr).get().toString());
+ }
+ }
+
+ String[] tokens = new String[theGroups.size()];
+ int k = 0;
+ while (k < tokens.length) {
+ tokens[k] = (String) theGroups.get(k);
+ k++;
+ }
+
+ return new AuthorizationResponse(tokens, AuthorizationResponse.RESPONSE_OK);
+
+ } catch (NameNotFoundException e) {
+ // This means that the user doesn't exist
+ return userNotFoundResponse;
+ } catch (NamingException e) {
+ // Unreachable
+ return unreachableResponse;
+ }
}
/**
@@ -223,8 +207,8 @@ public class LDAPAuthority extends org.a
*/
@Override
public AuthorizationResponse getDefaultAuthorizationResponse(String userName) {
- // The default response if the getConnection method fails
- return unreachableResponse;
+ // The default response if the getConnection method fails
+ return unreachableResponse;
}
// UI support methods.
@@ -246,9 +230,10 @@ public class LDAPAuthority extends org.a
*/
@Override
public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, Locale locale, ConfigParams parameters, List<String> tabsArray)
- throws ManifoldCFException, IOException {
- tabsArray.add("LDAP");
-/* out.print( "<script type=\"text/javascript\">\n"+
+ throws ManifoldCFException, IOException {
+ tabsArray.add(Messages.getString(locale,"LDAP.LDAP"));
+ out.print(
+"<script type=\"text/javascript\">\n"+
"<!--\n"+
"function checkConfig() {\n"+
" return true;\n"+
@@ -259,7 +244,7 @@ public class LDAPAuthority extends org.a
"}\n"+
"//-->\n"+
"</script>\n"
-);*/
+ );
}
/**
@@ -278,75 +263,72 @@ public class LDAPAuthority extends org.a
*/
@Override
public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, Locale locale, ConfigParams parameters, String tabName)
- throws ManifoldCFException, IOException {
- String serverURL = getParam( parameters, "ldapServerUrl", "ldap://ldap.office.com:389/dc=office,dc=com");
- String userBase = getParam( parameters, "ldapUserBase", "ou=People" );
- String userSearch = getParam( parameters, "ldapUserSearch", "(&(objectClass=inetOrgPerson)(uid={0}))" );
- String groupBase = getParam( parameters, "ldapGroupBase", "ou=Groups" );
- String groupSearch = getParam( parameters, "ldapGroupSearch", "(&(objectClass=groupOfNames)(member={0}))" );
- String groupNameAttr = getParam( parameters, "ldapGroupNameAttr", "cn" );
+ throws ManifoldCFException, IOException {
+ String serverURL = getParam( parameters, "ldapServerUrl", "ldap://ldap.office.com:389/dc=office,dc=com");
+ String userBase = getParam( parameters, "ldapUserBase", "ou=People" );
+ String userSearch = getParam( parameters, "ldapUserSearch", "(&(objectClass=inetOrgPerson)(uid={0}))" );
+ String groupBase = getParam( parameters, "ldapGroupBase", "ou=Groups" );
+ String groupSearch = getParam( parameters, "ldapGroupSearch", "(&(objectClass=groupOfNames)(member={0}))" );
+ String groupNameAttr = getParam( parameters, "ldapGroupNameAttr", "cn" );
- if (tabName.equals("LDAP")) {
- out.print(
- "<table class=\"displaytable\">\n"+
- " <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
+ if (tabName.equals(Messages.getString(locale,"LDAP.LDAP"))) {
+ out.print(
+"<table class=\"displaytable\">\n"+
+" <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
- " <tr>\n"+
- " <td class=\"description\"><nobr>LDAP server URL:</nobr></td>\n"+
- " <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapServerUrl\" value=\""+Encoder.attributeEscape(serverURL)+"\"/></td>\n"+
- " </tr>\n"+
-
- " <tr>\n"+
- " <td class=\"description\"><nobr>User search base:</nobr></td>\n"+
- " <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapUserBase\" value=\""+Encoder.attributeEscape(userBase)+"\"/></td>\n"+
- " </tr>\n"+
-
- " <tr>\n"+
- " <td class=\"description\"><nobr>User search filter:</nobr></td>\n"+
- " <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapUserSearch\" value=\""+Encoder.attributeEscape(userSearch)+"\"/></td>\n"+
- " </tr>\n"+
-
- " <tr>\n"+
- " <td class=\"description\"><nobr>Group search base:</nobr></td>\n"+
- " <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapGroupBase\" value=\""+Encoder.attributeEscape(groupBase)+"\"/></td>\n"+
- " </tr>\n"+
-
- " <tr>\n"+
- " <td class=\"description\"><nobr>Group search filter:</nobr></td>\n"+
- " <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapGroupSearch\" value=\""+Encoder.attributeEscape(groupSearch)+"\"/></td>\n"+
- " </tr>\n"+
-
- " <tr>\n"+
- " <td class=\"description\"><nobr>Group name attribute:</nobr></td>\n"+
- " <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapGroupNameAttr\" value=\""+Encoder.attributeEscape(groupNameAttr)+"\"/></td>\n"+
- " </tr>\n"+
-
- "</table>\n"
- );
- } else {
- out.print( "<input type=\"hidden\" name=\"ldapServerUrl\" value=\""+Encoder.attributeEscape(serverURL)+"\"/>\n");
- out.print( "<input type=\"hidden\" name=\"ldapUserBase\" value=\""+Encoder.attributeEscape(userBase)+"\"/>\n");
- out.print( "<input type=\"hidden\" name=\"ldapUserSearch\" value=\""+Encoder.attributeEscape(userSearch)+"\"/>\n");
- out.print( "<input type=\"hidden\" name=\"ldapGroupBase\" value=\""+Encoder.attributeEscape(groupBase)+"\"/>\n");
- out.print( "<input type=\"hidden\" name=\"ldapGroupSearch\" value=\""+Encoder.attributeEscape(groupSearch)+"\"/>\n");
- out.print( "<input type=\"hidden\" name=\"ldapGroupNameAttr\" value=\""+Encoder.attributeEscape(groupNameAttr)+"\"/>\n");
- }
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.LDAPServerURLColon")+"</nobr></td>\n"+
+" <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapServerUrl\" value=\""+Encoder.attributeEscape(serverURL)+"\"/></td>\n"+
+" </tr>\n"+
+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.UserSearchBaseColon")+"</nobr></td>\n"+
+" <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapUserBase\" value=\""+Encoder.attributeEscape(userBase)+"\"/></td>\n"+
+" </tr>\n"+
+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.UserSearchFilterColon")+"</nobr></td>\n"+
+" <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapUserSearch\" value=\""+Encoder.attributeEscape(userSearch)+"\"/></td>\n"+
+" </tr>\n"+
+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.GroupSearchBaseColon")+"</nobr></td>\n"+
+" <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapGroupBase\" value=\""+Encoder.attributeEscape(groupBase)+"\"/></td>\n"+
+" </tr>\n"+
+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.GroupSearchFilterColon")+"</nobr></td>\n"+
+" <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapGroupSearch\" value=\""+Encoder.attributeEscape(groupSearch)+"\"/></td>\n"+
+" </tr>\n"+
+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.GroupNameAttributeColon")+"</nobr></td>\n"+
+" <td class=\"value\"><input type=\"text\" size=\"64\" name=\"ldapGroupNameAttr\" value=\""+Encoder.attributeEscape(groupNameAttr)+"\"/></td>\n"+
+" </tr>\n"+
+
+"</table>\n"
+ );
+ } else {
+ out.print( "<input type=\"hidden\" name=\"ldapServerUrl\" value=\""+Encoder.attributeEscape(serverURL)+"\"/>\n");
+ out.print( "<input type=\"hidden\" name=\"ldapUserBase\" value=\""+Encoder.attributeEscape(userBase)+"\"/>\n");
+ out.print( "<input type=\"hidden\" name=\"ldapUserSearch\" value=\""+Encoder.attributeEscape(userSearch)+"\"/>\n");
+ out.print( "<input type=\"hidden\" name=\"ldapGroupBase\" value=\""+Encoder.attributeEscape(groupBase)+"\"/>\n");
+ out.print( "<input type=\"hidden\" name=\"ldapGroupSearch\" value=\""+Encoder.attributeEscape(groupSearch)+"\"/>\n");
+ out.print( "<input type=\"hidden\" name=\"ldapGroupNameAttr\" value=\""+Encoder.attributeEscape(groupNameAttr)+"\"/>\n");
+ }
}
private String getParam( ConfigParams parameters, String name, String def) {
- return parameters.getParameter(name) != null ? parameters.getParameter(name) : def;
+ return parameters.getParameter(name) != null ? parameters.getParameter(name) : def;
}
private boolean copyParam( IPostParameters variableContext, ConfigParams parameters, String name) {
- String val = variableContext.getParameter( name );
- if( val == null ){
- return false;
- }
- if( val.isEmpty() ) {
- return false;
- }
- parameters.setParameter( name, val );
- return true;
+ String val = variableContext.getParameter( name );
+ if( val == null ){
+ return false;
+ }
+ parameters.setParameter( name, val );
+ return true;
}
/**
@@ -367,19 +349,14 @@ public class LDAPAuthority extends org.a
*/
@Override
public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, Locale locale, ConfigParams parameters)
- throws ManifoldCFException {
- boolean ok = true;
-
- ok = ok & copyParam(variableContext, parameters, "ldapServerUrl" );
- ok = ok & copyParam(variableContext, parameters, "ldapUserBase" );
- ok = ok & copyParam(variableContext, parameters, "ldapUserSearch" );
- ok = ok & copyParam(variableContext, parameters, "ldapGroupBase" );
- ok = ok & copyParam(variableContext, parameters, "ldapGroupSearch" );
- ok = ok & copyParam(variableContext, parameters, "ldapGroupNameAttr" );
- /*if( !ok ) {
- return "All LDAP parameters are required!";
- }*/
- return null;
+ throws ManifoldCFException {
+ copyParam(variableContext, parameters, "ldapServerUrl" );
+ copyParam(variableContext, parameters, "ldapUserBase" );
+ copyParam(variableContext, parameters, "ldapUserSearch" );
+ copyParam(variableContext, parameters, "ldapGroupBase" );
+ copyParam(variableContext, parameters, "ldapGroupSearch" );
+ copyParam(variableContext, parameters, "ldapGroupNameAttr" );
+ return null;
}
/**
@@ -396,49 +373,49 @@ public class LDAPAuthority extends org.a
*/
@Override
public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, Locale locale, ConfigParams parameters)
- throws ManifoldCFException, IOException {
- String serverURL = getParam( parameters, "ldapServerUrl", "ldap://ldap.office.com:389/dc=office,dc=com");
- String userBase = getParam( parameters, "ldapUserBase", "ou=People" );
- String userSearch = getParam( parameters, "ldapUserSearch", "(&(objectClass=inetOrgPerson)(uid={0}))" );
- String groupBase = getParam( parameters, "ldapGroupBase", "ou=Groups" );
- String groupSearch = getParam( parameters, "ldapGroupSearch", "(&(objectClass=groupOfNames)(member={0}))" );
- String groupNameAttr = getParam( parameters, "ldapGroupNameAttr", "cn" );
- out.print(
- "<table class=\"displaytable\">\n"+
- " <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
+ throws ManifoldCFException, IOException {
+ String serverURL = getParam( parameters, "ldapServerUrl", "ldap://ldap.office.com:389/dc=office,dc=com");
+ String userBase = getParam( parameters, "ldapUserBase", "ou=People" );
+ String userSearch = getParam( parameters, "ldapUserSearch", "(&(objectClass=inetOrgPerson)(uid={0}))" );
+ String groupBase = getParam( parameters, "ldapGroupBase", "ou=Groups" );
+ String groupSearch = getParam( parameters, "ldapGroupSearch", "(&(objectClass=groupOfNames)(member={0}))" );
+ String groupNameAttr = getParam( parameters, "ldapGroupNameAttr", "cn" );
+ out.print(
+"<table class=\"displaytable\">\n"+
+" <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
- " <tr>\n"+
- " <td class=\"description\"><nobr>LDAP server URL:</nobr></td>\n"+
- " <td class=\"value\">"+Encoder.attributeEscape(serverURL)+"</td>\n"+
- " </tr>\n"+
-
- " <tr>\n"+
- " <td class=\"description\"><nobr>User search base:</nobr></td>\n"+
- " <td class=\"value\">"+Encoder.attributeEscape(userBase)+"</td>\n"+
- " </tr>\n"+
-
- " <tr>\n"+
- " <td class=\"description\"><nobr>User search filter:</nobr></td>\n"+
- " <td class=\"value\">"+Encoder.attributeEscape(userSearch)+"</td>\n"+
- " </tr>\n"+
-
- " <tr>\n"+
- " <td class=\"description\"><nobr>Group search base:</nobr></td>\n"+
- " <td class=\"value\">"+Encoder.attributeEscape(groupBase)+"</td>\n"+
- " </tr>\n"+
-
- " <tr>\n"+
- " <td class=\"description\"><nobr>Group search filter:</nobr></td>\n"+
- " <td class=\"value\">"+Encoder.attributeEscape(groupSearch)+"</td>\n"+
- " </tr>\n"+
-
- " <tr>\n"+
- " <td class=\"description\"><nobr>Group name attribute:</nobr></td>\n"+
- " <td class=\"value\">"+Encoder.attributeEscape(groupNameAttr)+"</td>\n"+
- " </tr>\n"+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.LDAPServerURLColon")+"</nobr></td>\n"+
+" <td class=\"value\">"+Encoder.bodyEscape(serverURL)+"</td>\n"+
+" </tr>\n"+
+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.UserSearchBaseColon")+"</nobr></td>\n"+
+" <td class=\"value\">"+Encoder.bodyEscape(userBase)+"</td>\n"+
+" </tr>\n"+
+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.UserSearchFilterColon")+"</nobr></td>\n"+
+" <td class=\"value\">"+Encoder.bodyEscape(userSearch)+"</td>\n"+
+" </tr>\n"+
+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.GroupSearchBaseColon")+"</nobr></td>\n"+
+" <td class=\"value\">"+Encoder.bodyEscape(groupBase)+"</td>\n"+
+" </tr>\n"+
+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.GroupSearchFilterColon")+"</nobr></td>\n"+
+" <td class=\"value\">"+Encoder.bodyEscape(groupSearch)+"</td>\n"+
+" </tr>\n"+
+
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LDAP.GroupNameAttributeColon")+"</nobr></td>\n"+
+" <td class=\"value\">"+Encoder.bodyEscape(groupNameAttr)+"</td>\n"+
+" </tr>\n"+
- "</table>\n"
- );
+"</table>\n"
+ );
}
// Protected methods
@@ -453,42 +430,42 @@ public class LDAPAuthority extends org.a
* throws an exception if user is not found.)
*/
protected String getDistinguishedName(LdapContext ctx, String userName)
- throws ManifoldCFException {
- String returnedAtts[] = {"dn"};
- String searchFilter = userSearch.replaceAll( "\\{0\\}", ldapEscape(userName));
- SearchControls searchCtls = new SearchControls();
- searchCtls.setReturningAttributes(returnedAtts);
- searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
-
- try {
- NamingEnumeration answer = ctx.search(userBase, searchFilter, searchCtls);
- while (answer.hasMoreElements()) {
- SearchResult sr = (SearchResult) answer.next();
- return sr.getNameInNamespace();
- }
- return null;
- } catch (Exception e) {
- throw new ManifoldCFException(e.getMessage(), e);
+ throws ManifoldCFException {
+ String returnedAtts[] = {"dn"};
+ String searchFilter = userSearch.replaceAll( "\\{0\\}", ldapEscape(userName));
+ SearchControls searchCtls = new SearchControls();
+ searchCtls.setReturningAttributes(returnedAtts);
+ searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
+
+ try {
+ NamingEnumeration answer = ctx.search(userBase, searchFilter, searchCtls);
+ while (answer.hasMoreElements()) {
+ SearchResult sr = (SearchResult) answer.next();
+ return sr.getNameInNamespace();
}
+ return null;
+ } catch (Exception e) {
+ throw new ManifoldCFException(e.getMessage(), e);
+ }
}
/**
* LDAP escape a string.
*/
protected static String ldapEscape(String input) {
- //Add escape sequence to all commas
- StringBuilder sb = new StringBuilder();
- int index = 0;
- while (true) {
- int oldIndex = index;
- index = input.indexOf(",", oldIndex);
- if (index == -1) {
- sb.append(input.substring(oldIndex));
- break;
- }
- sb.append(input.substring(oldIndex, index)).append("\\,");
- index++;
+ //Add escape sequence to all commas
+ StringBuilder sb = new StringBuilder();
+ int index = 0;
+ while (true) {
+ int oldIndex = index;
+ index = input.indexOf(",", oldIndex);
+ if (index == -1) {
+ sb.append(input.substring(oldIndex));
+ break;
}
- return sb.toString();
+ sb.append(input.substring(oldIndex, index)).append("\\,");
+ index++;
+ }
+ return sb.toString();
}
}