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