Juan Hernandez has uploaded a new change for review.

Change subject: [WIP] Add internal directory provider
......................................................................

[WIP] Add internal directory provider

This change adds an implementation of the internal authenticator based
on the new authenticator interface introduced previously. It works like
the previous internal domain, with only one "admin" user and with the
password stored in a configuration parameter.

Change-Id: I5db0f589443493e34a0709eb45cff994f14e3e26
Signed-off-by: Juan Hernandez <juan.hernan...@redhat.com>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/auth/internal/InternalAuthenticator.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/auth/internal/InternalAuthenticatorProvider.java
A 
backend/manager/modules/bll/src/main/resources/META-INF/services/org.ovirt.engine.core.bll.auth.AuthenticatorSpi
3 files changed, 51 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/02/15602/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/auth/internal/InternalAuthenticator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/auth/internal/InternalAuthenticator.java
new file mode 100644
index 0000000..f0858d8
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/auth/internal/InternalAuthenticator.java
@@ -0,0 +1,23 @@
+package org.ovirt.engine.core.bll.auth.internal;
+
+import org.apache.commons.lang.ObjectUtils;
+import org.ovirt.engine.core.bll.auth.Authenticator;
+import org.ovirt.engine.core.common.config.Config;
+import org.ovirt.engine.core.common.config.ConfigValues;
+
+public class InternalAuthenticator implements Authenticator {
+    @Override
+    public String getName () {
+        return Config.<String> GetValue(ConfigValues.AdminDomain);
+    }
+
+    @Override
+    public boolean authenticate(String name, Object credentials) {
+        String adminName = Config.<String> GetValue(ConfigValues.AdminUser);
+        String adminPassword = Config.<String> 
GetValue(ConfigValues.AdminPassword);
+        return
+            ObjectUtils.equals(name, adminName) &&
+            ObjectUtils.equals(credentials, adminPassword)
+        ;
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/auth/internal/InternalAuthenticatorProvider.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/auth/internal/InternalAuthenticatorProvider.java
new file mode 100644
index 0000000..f36e32e
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/auth/internal/InternalAuthenticatorProvider.java
@@ -0,0 +1,27 @@
+package org.ovirt.engine.core.bll.auth.internal;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.ovirt.engine.core.bll.auth.Authenticator;
+import org.ovirt.engine.core.bll.auth.AuthenticatorSpi;
+
+public class InternalAuthenticatorProvider implements AuthenticatorSpi {
+    // The list of authenticators managed by this implementation (will be 
lazily
+    // initialized later:
+    private volatile List<Authenticator> authenticators;
+
+    @Override
+    public List<Authenticator> getAuthenticators() {
+        if (authenticators == null) {
+            synchronized (InternalAuthenticatorProvider.class) {
+                if (authenticators == null) {
+                    Authenticator authenticator = new InternalAuthenticator();
+                    authenticators = Collections.singletonList(authenticator);
+                }
+            }
+        }
+        return authenticators;
+    }
+
+}
diff --git 
a/backend/manager/modules/bll/src/main/resources/META-INF/services/org.ovirt.engine.core.bll.auth.AuthenticatorSpi
 
b/backend/manager/modules/bll/src/main/resources/META-INF/services/org.ovirt.engine.core.bll.auth.AuthenticatorSpi
new file mode 100644
index 0000000..fd1091e
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/resources/META-INF/services/org.ovirt.engine.core.bll.auth.AuthenticatorSpi
@@ -0,0 +1 @@
+org.ovirt.engine.core.bll.auth.internal.InternalAuthenticatorProvider


-- 
To view, visit http://gerrit.ovirt.org/15602
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5db0f589443493e34a0709eb45cff994f14e3e26
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Juan Hernandez <juan.hernan...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to