summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/cms/servlet/common
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2012-05-13 23:04:36 -0400
committerAde Lee <alee@redhat.com>2012-07-03 13:58:45 -0400
commit9ce810c0b2fef9f70178dbeee8a3523755a2a260 (patch)
treea25cd9e9969898506ed2a4cb17a3cfbeb68496cf /base/common/src/com/netscape/cms/servlet/common
parent0f3451befbc14bd6ec29d9e1e3845f970f288653 (diff)
downloadpki-9ce810c0b2fef9f70178dbeee8a3523755a2a260.tar.gz
pki-9ce810c0b2fef9f70178dbeee8a3523755a2a260.tar.xz
pki-9ce810c0b2fef9f70178dbeee8a3523755a2a260.zip
Adding restful interface to create certificate requests and issue certificates.
Refactored ProfileSubmitServlet to make the flow clearer. Both the legacy servlets and the new RESTful servlets use common ProfileProcessor objects that contain the main business logic, so that the amount of duplicated code is minimized. Refactored ProfileProcessServlet to use the new common classes. Addressed review comments. Removed an unneeded class and reverted some unneeded jaxb annotations. Added factory methods.
Diffstat (limited to 'base/common/src/com/netscape/cms/servlet/common')
-rw-r--r--base/common/src/com/netscape/cms/servlet/common/AuthCredentials.java6
-rw-r--r--base/common/src/com/netscape/cms/servlet/common/ServletUtils.java42
2 files changed, 45 insertions, 3 deletions
diff --git a/base/common/src/com/netscape/cms/servlet/common/AuthCredentials.java b/base/common/src/com/netscape/cms/servlet/common/AuthCredentials.java
index f01d75c98..32ae0fcc8 100644
--- a/base/common/src/com/netscape/cms/servlet/common/AuthCredentials.java
+++ b/base/common/src/com/netscape/cms/servlet/common/AuthCredentials.java
@@ -20,8 +20,8 @@ package com.netscape.cms.servlet.common;
import java.util.Enumeration;
import java.util.Hashtable;
+import com.netscape.certsrv.authentication.EAuthException;
import com.netscape.certsrv.authentication.IAuthCredentials;
-import com.netscape.certsrv.base.EBaseException;
import com.netscape.certsrv.base.IArgBlock;
/**
@@ -52,9 +52,9 @@ public class AuthCredentials implements IAuthCredentials {
* @param cred credential
* @exception com.netscape.certsrv.base.EBaseException NullPointerException
*/
- public void set(String name, Object cred) throws EBaseException {
+ public void set(String name, Object cred) throws EAuthException {
if (cred == null) {
- throw new EBaseException("AuthCredentials.set()");
+ throw new EAuthException("AuthCredentials.set()");
}
authCreds.put(name, cred);
diff --git a/base/common/src/com/netscape/cms/servlet/common/ServletUtils.java b/base/common/src/com/netscape/cms/servlet/common/ServletUtils.java
index 856679e3a..a709b6b02 100644
--- a/base/common/src/com/netscape/cms/servlet/common/ServletUtils.java
+++ b/base/common/src/com/netscape/cms/servlet/common/ServletUtils.java
@@ -103,4 +103,46 @@ public class ServletUtils {
authz.authzMgrAccessInit(aclMethod, acl);
}
}
+
+ public static String getACLMethod(String aclInfo, String authzMgr, String id) throws EBaseException {
+ String srcType = AUTHZ_SRC_LDAP;
+ IAuthzSubsystem authz = (IAuthzSubsystem) CMS.getSubsystem(CMS.SUBSYSTEM_AUTHZ);
+
+ try {
+ IConfigStore authzConfig = CMS.getConfigStore().getSubStore(AUTHZ_CONFIG_STORE);
+ srcType = authzConfig.getString(AUTHZ_SRC_TYPE, AUTHZ_SRC_LDAP);
+ } catch (EBaseException e) {
+ CMS.debug(CMS.getLogMessage("ADMIN_SRVLT_FAIL_SRC_TYPE"));
+ }
+
+ String aclMethod = null;
+
+ if (srcType.equalsIgnoreCase(AUTHZ_SRC_XML)) {
+ CMS.debug(CMS.getLogMessage("ADMIN_SRVLT_AUTHZ_INITED", ""));
+ try {
+ aclMethod = authzMgr;
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ if (aclMethod != null && aclMethod.equalsIgnoreCase(AUTHZ_MGR_BASIC)) {
+ if (aclInfo != null) {
+ addACLInfo(authz, aclMethod, aclInfo);
+ CMS.debug(CMS.getLogMessage("ADMIN_SRVLT_AUTHZ_MGR_INIT_DONE", id));
+ } else {
+ CMS.debug(CMS.getLogMessage(
+ "ADMIN_SRVLT_PROP_ACL_NOT_SPEC", PROP_ACL, id,
+ AUTHZ_MGR_LDAP));
+ }
+ } else {
+ CMS.debug(CMS.getLogMessage("ADMIN_SRVLT_PROP_ACL_NOT_SPEC",
+ PROP_AUTHZ_MGR, id, AUTHZ_MGR_LDAP));
+ }
+ } else {
+ aclMethod = AUTHZ_MGR_LDAP;
+ CMS.debug(CMS.getLogMessage("ADMIN_SRVLT_AUTH_LDAP_NOT_XML", id));
+ }
+
+ return aclMethod;
+ }
}