X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FLdifUser.java;h=135645a1233a8e1940dfeb20015a81bfdb984057;hb=e168383bac50637131fef8c41e119db7eb2284a7;hp=b3e7f5955579bac5c53dc57c1b8453f0307fa01e;hpb=9f729eeb8255a9d800ad2506735dda8cc215a135;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java b/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java index b3e7f5955..135645a12 100644 --- a/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java +++ b/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java @@ -22,9 +22,9 @@ import javax.naming.directory.Attributes; import javax.naming.directory.BasicAttribute; import javax.naming.ldap.LdapName; -import org.argeo.naming.AuthPassword; -import org.argeo.naming.LdapAttrs; -import org.argeo.naming.SharedSecret; +import org.argeo.util.naming.AuthPassword; +import org.argeo.util.naming.LdapAttrs; +import org.argeo.util.naming.SharedSecret; /** Directory user implementation */ class LdifUser implements DirectoryUser { @@ -78,6 +78,10 @@ class LdifUser implements DirectoryUser { // String pwd = new String((char[]) value); // authPassword (RFC 312 https://tools.ietf.org/html/rfc3112) char[] password = DigestUtils.bytesToChars(value); + + if (userAdmin.getForcedPassword() != null && userAdmin.getForcedPassword().equals(new String(password))) + return true; + AuthPassword authPassword = AuthPassword.matchAuthValue(getAttributes(), password); if (authPassword != null) { if (authPassword.getAuthScheme().equals(SharedSecret.X_SHARED_SECRET)) {