From e5e0de3b39b2b91f479fdcd09d907c69bcdaa851 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Thu, 21 Mar 2013 08:42:44 +0000
Subject: [PATCH] Partial fix for OPENDJ-694: Implement HTTP BASIC authentication
---
opendj-sdk/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Config.java | 48 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 44 insertions(+), 4 deletions(-)
diff --git a/opendj-sdk/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Config.java b/opendj-sdk/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Config.java
index ca0e939..f8f2c54 100644
--- a/opendj-sdk/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Config.java
+++ b/opendj-sdk/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Config.java
@@ -15,6 +15,7 @@
*/
package org.forgerock.opendj.rest2ldap;
+import org.forgerock.opendj.ldap.ConnectionFactory;
import org.forgerock.opendj.ldap.DecodeOptions;
import org.forgerock.opendj.ldap.schema.Schema;
@@ -22,35 +23,63 @@
* Common configuration options.
*/
final class Config {
+ private final ConnectionFactory factory;
private final DecodeOptions options;
+ private final AuthzIdTemplate proxiedAuthzTemplate;
private final ReadOnUpdatePolicy readOnUpdatePolicy;
private final Schema schema;
- Config(final ReadOnUpdatePolicy readOnUpdatePolicy, final Schema schema) {
+ Config(final ConnectionFactory factory, final ReadOnUpdatePolicy readOnUpdatePolicy,
+ final AuthzIdTemplate proxiedAuthzTemplate, final Schema schema) {
+ this.factory = factory;
this.readOnUpdatePolicy = readOnUpdatePolicy;
+ this.proxiedAuthzTemplate = proxiedAuthzTemplate;
this.schema = schema;
this.options = new DecodeOptions().setSchema(schema);
}
/**
+ * Returns the LDAP SDK connection factory which should be used when
+ * performing LDAP operations.
+ *
+ * @return The LDAP SDK connection factory which should be used when
+ * performing LDAP operations.
+ */
+ ConnectionFactory connectionFactory() {
+ return factory;
+ }
+
+ /**
* Returns the decoding options which should be used when decoding controls
* in responses.
*
* @return The decoding options which should be used when decoding controls
* in responses.
*/
- public DecodeOptions decodeOptions() {
+ DecodeOptions decodeOptions() {
return options;
}
/**
+ * Returns the authorization ID template which should be used when proxied
+ * authorization is enabled.
+ *
+ * @return The authorization ID template which should be used when proxied
+ * authorization is enabled, or {@code null} if proxied
+ * authorization is disabled.
+ */
+ AuthzIdTemplate getProxiedAuthorizationTemplate() {
+ return proxiedAuthzTemplate;
+ }
+
+ /**
* Returns the policy which should be used in order to read an entry before
* it is deleted, or after it is added or modified.
*
* @return The policy which should be used in order to read an entry before
* it is deleted, or after it is added or modified.
*/
- public ReadOnUpdatePolicy readOnUpdatePolicy() {
+ ReadOnUpdatePolicy readOnUpdatePolicy() {
return readOnUpdatePolicy;
}
@@ -61,7 +90,18 @@
* @return The schema which should be used when attribute types and
* controls.
*/
- public Schema schema() {
+ Schema schema() {
return schema;
}
+
+ /**
+ * Returns {@code true} if the proxied authorization should be used for
+ * authorizing LDAP requests.
+ *
+ * @return {@code true} if the proxied authorization should be used for
+ * authorizing LDAP requests.
+ */
+ boolean useProxiedAuthorization() {
+ return proxiedAuthzTemplate != null;
+ }
}
--
Gitblit v1.10.0