Introduce forced password for tests
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / osgi / useradmin / LdifUser.java
index b3e7f5955579bac5c53dc57c1b8453f0307fa01e..135645a1233a8e1940dfeb20015a81bfdb984057 100644 (file)
@@ -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)) {