azkaban-aplcache
Changes
build.gradle 2(+1 -1)
Details
build.gradle 2(+1 -1)
diff --git a/build.gradle b/build.gradle
index 9681ba7..fe5400e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -54,6 +54,7 @@ dependencies {
compile (
[group: 'commons-collections', name:'commons-collections', version: '3.2.1'],
[group: 'commons-configuration', name:'commons-configuration', version: '1.8'],
+ [group: 'commons-codec', name:'commons-codec', version: '1.9'],
[group: 'commons-dbcp', name:'commons-dbcp', version: '1.4'],
[group: 'commons-dbutils', name:'commons-dbutils', version: '1.5'],
[group: 'org.apache.commons', name:'commons-email', version: '1.2'],
@@ -69,7 +70,6 @@ dependencies {
[group: 'org.apache.httpcomponents', name:'httpcore', version: '4.2.1'],
[group: 'org.codehaus.jackson', name:'jackson-core-asl', version: '1.9.5'],
[group: 'org.codehaus.jackson', name:'jackson-mapper-asl',version: '1.9.5'],
- [group: 'org.codehaus.jackson', name:'jackson-core-asl', version: '1.9.5'],
[group: 'org.mortbay.jetty', name:'jetty', version: '6.1.26'],
[group: 'org.mortbay.jetty', name:'jetty-util', version: '6.1.26'],
[group: 'joda-time', name:'joda-time', version: '2.0'],
diff --git a/src/main/java/azkaban/user/UserManager.java b/src/main/java/azkaban/user/UserManager.java
index 071b307..253e817 100644
--- a/src/main/java/azkaban/user/UserManager.java
+++ b/src/main/java/azkaban/user/UserManager.java
@@ -34,7 +34,7 @@ public interface UserManager {
* @throws UserManagerException If the username/password combination doesn't exist.
*/
public User getUser(String username, String password) throws UserManagerException;
-
+
/**
* Returns true if the user is valid. This is used when adding permissions for users
*
diff --git a/src/restli/java/azkaban/restli/ProjectManagerResource.java b/src/restli/java/azkaban/restli/ProjectManagerResource.java
index 7c862d8..6a93395 100644
--- a/src/restli/java/azkaban/restli/ProjectManagerResource.java
+++ b/src/restli/java/azkaban/restli/ProjectManagerResource.java
@@ -40,13 +40,13 @@ public class ProjectManagerResource extends ResourceContextHolder {
@Action(name = "deploy")
public String deploy(
- @ActionParam("session.id") String sessionId,
- @ActionParam("project.name") String projectName,
- @ActionParam("package.url") String packageUrl)
+ @ActionParam("sessionId") String sessionId,
+ @ActionParam("projectName") String projectName,
+ @ActionParam("packageUrl") String packageUrl)
throws ProjectManagerException, UserManagerException, ServletException, IOException {
- logger.info("Deploy called. {session.id: " + sessionId +
- ", project.name: " + projectName +
- ", package.url:" + packageUrl + "}");
+ logger.info("Deploy called. {sessionId: " + sessionId +
+ ", projectName: " + projectName +
+ ", packageUrl:" + packageUrl + "}");
User user = ResourceUtils.getUserFromSessionId(sessionId);
ProjectManager projectManager = getAzkaban().getProjectManager();
diff --git a/src/restli/java/azkaban/restli/ResourceUtils.java b/src/restli/java/azkaban/restli/ResourceUtils.java
index 1a8e340..609f5cb 100644
--- a/src/restli/java/azkaban/restli/ResourceUtils.java
+++ b/src/restli/java/azkaban/restli/ResourceUtils.java
@@ -10,6 +10,7 @@ import azkaban.webapp.AzkabanWebServer;
import azkaban.webapp.session.Session;
public class ResourceUtils {
+
public static boolean hasPermission(Project project, User user, Permission.Type type) {
UserManager userManager = AzkabanWebServer.getInstance().getUserManager();
if (project.hasPermission(user, type)) {
@@ -19,7 +20,7 @@ public class ResourceUtils {
for (String roleName: user.getRoles()) {
Role role = userManager.getRole(roleName);
if (role.getPermission().isPermissionSet(type) ||
- role.getPermission().isPermissionSet(Permission.Type.ADMIN)) {
+ role.getPermission().isPermissionSet(Permission.Type.ADMIN)) {
return true;
}
}
diff --git a/src/restli/java/azkaban/restli/UserManagerResource.java b/src/restli/java/azkaban/restli/UserManagerResource.java
index 60b3ad7..e80967d 100644
--- a/src/restli/java/azkaban/restli/UserManagerResource.java
+++ b/src/restli/java/azkaban/restli/UserManagerResource.java
@@ -1,14 +1,27 @@
package azkaban.restli;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.security.KeyFactory;
+import java.security.PublicKey;
+import java.security.Security;
+import java.security.spec.X509EncodedKeySpec;
import java.util.UUID;
+import javax.crypto.Cipher;
import javax.servlet.ServletException;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.IOUtils;
import org.apache.log4j.Logger;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
import azkaban.restli.user.User;
import azkaban.user.UserManager;
import azkaban.user.UserManagerException;
+import azkaban.utils.cache.Cache;
+import azkaban.utils.cache.CacheManager;
import azkaban.webapp.AzkabanWebServer;
import azkaban.webapp.session.Session;
@@ -17,6 +30,7 @@ import com.linkedin.restli.server.annotations.ActionParam;
import com.linkedin.restli.server.annotations.RestLiActions;
import com.linkedin.restli.server.resources.ResourceContextHolder;
+
@RestLiActions(name = "user", namespace = "azkaban.restli")
public class UserManagerResource extends ResourceContextHolder {
private static final Logger logger = Logger.getLogger(UserManagerResource.class);
@@ -24,7 +38,7 @@ public class UserManagerResource extends ResourceContextHolder {
public AzkabanWebServer getAzkaban() {
return AzkabanWebServer.getInstance();
}
-
+
@Action(name = "login")
public String login(
@ActionParam("username") String username,
@@ -78,4 +92,25 @@ public class UserManagerResource extends ResourceContextHolder {
return session;
}
+
+ /**
+ *
+ */
+ private static class LoginChallenge {
+ private final String user;
+ private final String challenge;
+
+ public LoginChallenge(String user, String challenge) {
+ this.user = user;
+ this.challenge = challenge;
+ }
+
+ public String getUser() {
+ return user;
+ }
+
+ public String getChallenge() {
+ return challenge;
+ }
+ }
}
\ No newline at end of file