projects
/
lgpl
/
argeo-commons.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0000324
)
Introduce forced password for tests
author
Mathieu Baudier <mbaudier@argeo.org>
Tue, 15 Feb 2022 05:46:08 +0000
(06:46 +0100)
committer
Mathieu Baudier <mbaudier@argeo.org>
Tue, 15 Feb 2022 05:46:08 +0000
(06:46 +0100)
org.argeo.util/src/org/argeo/osgi/useradmin/AbstractUserDirectory.java
patch
|
blob
|
history
org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java
patch
|
blob
|
history
org.argeo.util/src/org/argeo/osgi/useradmin/UserAdminConf.java
patch
|
blob
|
history
diff --git
a/org.argeo.util/src/org/argeo/osgi/useradmin/AbstractUserDirectory.java
b/org.argeo.util/src/org/argeo/osgi/useradmin/AbstractUserDirectory.java
index 095439093cfb6a77476b21ed12331a87ceaf2430..e028e384e1a8a7af1b5656124e0a66e6f50e9c00 100644
(file)
--- a/
org.argeo.util/src/org/argeo/osgi/useradmin/AbstractUserDirectory.java
+++ b/
org.argeo.util/src/org/argeo/osgi/useradmin/AbstractUserDirectory.java
@@
-67,6
+67,8
@@
public abstract class AbstractUserDirectory implements UserAdmin, UserDirectory
private WorkControl transactionControl;
private WcXaResource xaResource = new WcXaResource(this);
private WorkControl transactionControl;
private WcXaResource xaResource = new WcXaResource(this);
+ private String forcedPassword;
+
AbstractUserDirectory(URI uriArg, Dictionary<String, ?> props, boolean scoped) {
this.scoped = scoped;
properties = new Hashtable<String, Object>();
AbstractUserDirectory(URI uriArg, Dictionary<String, ?> props, boolean scoped) {
this.scoped = scoped;
properties = new Hashtable<String, Object>();
@@
-86,6
+88,8
@@
public abstract class AbstractUserDirectory implements UserAdmin, UserDirectory
uri = uriStr;
}
uri = uriStr;
}
+ forcedPassword = UserAdminConf.forcedPassword.getValue(properties);
+
userObjectClass = UserAdminConf.userObjectClass.getValue(properties);
userBase = UserAdminConf.userBase.getValue(properties);
groupObjectClass = UserAdminConf.groupObjectClass.getValue(properties);
userObjectClass = UserAdminConf.userObjectClass.getValue(properties);
userBase = UserAdminConf.userBase.getValue(properties);
groupObjectClass = UserAdminConf.groupObjectClass.getValue(properties);
@@
-494,6
+498,10
@@
public abstract class AbstractUserDirectory implements UserAdmin, UserDirectory
// this.transactionManager = transactionManager;
// }
// this.transactionManager = transactionManager;
// }
+ public String getForcedPassword() {
+ return forcedPassword;
+ }
+
public void setTransactionControl(WorkControl transactionControl) {
this.transactionControl = transactionControl;
}
public void setTransactionControl(WorkControl transactionControl) {
this.transactionControl = transactionControl;
}
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 6e8ad27116de610b151b2faaa7e2ef42b61dba48..135645a1233a8e1940dfeb20015a81bfdb984057 100644
(file)
--- a/
org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java
+++ b/
org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java
@@
-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);
// 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)) {
AuthPassword authPassword = AuthPassword.matchAuthValue(getAttributes(), password);
if (authPassword != null) {
if (authPassword.getAuthScheme().equals(SharedSecret.X_SHARED_SECRET)) {
diff --git
a/org.argeo.util/src/org/argeo/osgi/useradmin/UserAdminConf.java
b/org.argeo.util/src/org/argeo/osgi/useradmin/UserAdminConf.java
index 8941f98b4f92763a67f297fa56b4d30d7ae36488..3631de40f45a9c26bed050b1f1f7445e73c7fc24 100644
(file)
--- a/
org.argeo.util/src/org/argeo/osgi/useradmin/UserAdminConf.java
+++ b/
org.argeo.util/src/org/argeo/osgi/useradmin/UserAdminConf.java
@@
-41,7
+41,10
@@
public enum UserAdminConf {
disabled(null),
/** Authentication realm */
disabled(null),
/** Authentication realm */
- realm(null);
+ realm(null),
+
+ /** Override all passwords with this value (typically for testing purposes) */
+ forcedPassword(null);
public final static String FACTORY_PID = "org.argeo.osgi.useradmin.config";
public final static String FACTORY_PID = "org.argeo.osgi.useradmin.config";