X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Futil%2Fdirectory%2Fldap%2FLdapDao.java;h=0f6e324ad258411a5da7f314e30283e8e1c31ffa;hb=da78fca0c8b99cabab454d704136e0313342292c;hp=e5ce0a4c16fafd7428ed69111026e5568e5fdf36;hpb=92e952dc93d7be465e8b7c03b78a857d33ab5ae0;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.util/src/org/argeo/util/directory/ldap/LdapDao.java b/org.argeo.util/src/org/argeo/util/directory/ldap/LdapDao.java index e5ce0a4c1..0f6e324ad 100644 --- a/org.argeo.util/src/org/argeo/util/directory/ldap/LdapDao.java +++ b/org.argeo.util/src/org/argeo/util/directory/ldap/LdapDao.java @@ -27,10 +27,6 @@ import org.argeo.util.naming.LdapObjs; public class LdapDao extends AbstractLdapDirectoryDao { private LdapConnection ldapConnection; -// public LdapUserAdmin(Dictionary properties) { -// this(properties, false); -// } - public LdapDao(AbstractLdapDirectory directory) { super(directory); } @@ -44,31 +40,17 @@ public class LdapDao extends AbstractLdapDirectoryDao { ldapConnection.destroy(); } -// @Override -// protected AbstractUserDirectory scope(User user) { -// Dictionary credentials = user.getCredentials(); -// String username = (String) credentials.get(SHARED_STATE_USERNAME); -// if (username == null) -// username = user.getName(); -// Dictionary properties = cloneProperties(); -// properties.put(Context.SECURITY_PRINCIPAL, username.toString()); -// Object pwdCred = credentials.get(SHARED_STATE_PASSWORD); -// byte[] pwd = (byte[]) pwdCred; -// if (pwd != null) { -// char[] password = DirectoryDigestUtils.bytesToChars(pwd); -// properties.put(Context.SECURITY_CREDENTIALS, new String(password)); -// } else { -// properties.put(Context.SECURITY_AUTHENTICATION, "GSSAPI"); -// } -// return new LdapUserAdmin(properties, true); -// } - -// protected InitialLdapContext getLdapContext() { -// return initialLdapContext; -// } + @Override + public boolean checkConnection() { + try { + return ldapConnection.entryExists(getDirectory().getBaseDn()); + } catch (NamingException e) { + return false; + } + } @Override - public Boolean entryExists(LdapName dn) { + public boolean entryExists(LdapName dn) { try { return ldapConnection.entryExists(dn); } catch (NameNotFoundException e) { @@ -119,18 +101,6 @@ public class LdapDao extends AbstractLdapDirectoryDao { } } -// protected boolean isGroup(LdapName dn) { -// Rdn technicalRdn = LdapNameUtils.getParentRdn(dn); -// if (getDirectory().getGroupBaseRdn().equals(technicalRdn) -// || getDirectory().getSystemRoleBaseRdn().equals(technicalRdn)) -// return true; -// else if (getDirectory().getUserBaseRdn().equals(technicalRdn)) -// return false; -// else -// throw new IllegalArgumentException( -// "Cannot find role type, " + technicalRdn + " is not a technical RDN for " + dn); -// } - @Override public Attributes doGetAttributes(LdapName name) { try {