azkaban-aplcache

Details

diff --git a/src/java/azkaban/webapp/servlet/LoginAbstractAzkabanServlet.java b/src/java/azkaban/webapp/servlet/LoginAbstractAzkabanServlet.java
index f568ca3..fbe7987 100644
--- a/src/java/azkaban/webapp/servlet/LoginAbstractAzkabanServlet.java
+++ b/src/java/azkaban/webapp/servlet/LoginAbstractAzkabanServlet.java
@@ -43,7 +43,14 @@ public abstract class LoginAbstractAzkabanServlet extends
 			}
 			return;
 		}
-
+		else if (hasParam(req, "action")) {
+			String action = getParam(req, "action");
+			if (action.equals("login")) {
+				handleLoginAction(req, resp);
+			}
+			return;
+		}
+		
 		if (session != null) {
 			logger.info("Found session " + session.getUser());
 			handleGet(req, resp, session);
@@ -90,34 +97,7 @@ public abstract class LoginAbstractAzkabanServlet extends
 		if (hasParam(req, "action")) {
 			String action = getParam(req, "action");
 			if (action.equals("login")) {
-				if (hasParam(req, "username") && hasParam(req, "password")) {
-					String username = getParam(req, "username");
-					String password = getParam(req, "password");
-
-					UserManager manager = getApplication().getUserManager();
-
-					User user = null;
-					try {
-						user = manager.getUser(username, password);
-					} catch (UserManagerException e) {
-						handleLogin(req, resp, e.getMessage());
-						return;
-					}
-
-					String randomUID = UUID.randomUUID().toString();
-					Session session = new Session(randomUID, user);
-					resp.addCookie(new Cookie(SESSION_ID_NAME, randomUID));
-					getApplication().getSessionCache().addSession(session);
-					handleGet(req, resp, session);
-				} else {
-					if (isAjaxCall(req)) {
-						String response = createJsonResponse("error",
-								"Incorrect Login.", "login", null);
-						writeResponse(resp, response);
-					} else {
-						handleLogin(req, resp, "Enter username and password");
-					}
-				}
+				handleLoginAction(req, resp);
 			} else {
 				Session session = getSessionFromRequest(req);
 				if (session == null) {
@@ -149,6 +129,37 @@ public abstract class LoginAbstractAzkabanServlet extends
 		}
 	}
 
+	protected void handleLoginAction(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+		if (hasParam(req, "username") && hasParam(req, "password")) {
+			String username = getParam(req, "username");
+			String password = getParam(req, "password");
+
+			UserManager manager = getApplication().getUserManager();
+
+			User user = null;
+			try {
+				user = manager.getUser(username, password);
+			} catch (UserManagerException e) {
+				handleLogin(req, resp, e.getMessage());
+				return;
+			}
+
+			String randomUID = UUID.randomUUID().toString();
+			Session session = new Session(randomUID, user);
+			resp.addCookie(new Cookie(SESSION_ID_NAME, randomUID));
+			getApplication().getSessionCache().addSession(session);
+			handleGet(req, resp, session);
+		} else {
+			if (isAjaxCall(req)) {
+				String response = createJsonResponse("error",
+						"Incorrect Login.", "login", null);
+				writeResponse(resp, response);
+			} else {
+				handleLogin(req, resp, "Enter username and password");
+			}
+		}
+	}
+	
 	protected void writeResponse(HttpServletResponse resp, String response)
 			throws IOException {
 		Writer writer = resp.getWriter();
diff --git a/src/java/azkaban/webapp/servlet/velocity/login.vm b/src/java/azkaban/webapp/servlet/velocity/login.vm
index 2db6078..6b4ff96 100644
--- a/src/java/azkaban/webapp/servlet/velocity/login.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/login.vm
@@ -20,7 +20,7 @@
     	#if($errorMsg)
     		<div class="box-error-message">$errorMsg</div>
     	#end
-    	<form class="login-form" method="post">
+    	<form class="login-form" method="get">
     		<div id="login-password">
 		    	<p class="login-label">Username</p>
 		    	<input type="text" name="username" class="login-textbox" ></input>