APIAuthenticator: Add interface definition for the auth mechanisms

Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/31722c26
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/31722c26
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/31722c26

Branch: refs/heads/master
Commit: 31722c26745a8a741c53f0aaaba25b0f1d576d12
Parents: a6a63dd
Author: Rohit Yadav <rohit.ya...@shapeblue.com>
Authored: Tue Aug 12 07:26:32 2014 +0200
Committer: Rohit Yadav <rohit.ya...@shapeblue.com>
Committed: Tue Aug 12 12:01:29 2014 +0200

----------------------------------------------------------------------
 .../com/cloud/api/auth/APIAuthenticator.java    | 40 ++++++++++++++++++++
 1 file changed, 40 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/31722c26/server/src/com/cloud/api/auth/APIAuthenticator.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/auth/APIAuthenticator.java 
b/server/src/com/cloud/api/auth/APIAuthenticator.java
new file mode 100644
index 0000000..a0f669e
--- /dev/null
+++ b/server/src/com/cloud/api/auth/APIAuthenticator.java
@@ -0,0 +1,40 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.api.auth;
+
+import org.apache.cloudstack.api.ServerApiException;
+
+import javax.servlet.http.HttpSession;
+import java.util.Map;
+
+/*
+* APIAuthenticator is an interface that defines method that
+* a class should implement that help with Authentication and accepts
+* a command string and an array of parameters. This should be used only
+* in the Servlet that is doing authentication.
+*
+* @param command The API command name such as login, logout etc
+* @param params An array of HTTP parameters
+* @param session HttpSession object
+* */
+public interface APIAuthenticator {
+    public String authenticate(String command, Map<String, Object[]> params,
+                               HttpSession session, String remoteAddress, 
String responseType,
+                               StringBuilder auditTrailSb) throws 
ServerApiException;
+    public APIAuthenticationType getAPIType();
+
+}

Reply via email to