diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java index c9b24b14d0e..e90954142fd 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java @@ -74,9 +74,10 @@ public Response postLogin(@FormParam("userName") String userName, try { UsernamePasswordToken token = new UsernamePasswordToken(userName, password); // token.setRememberMe(true); - currentUser.login(token); + currentUser.getSession().stop(); currentUser.getSession(true); + currentUser.login(token); HashSet roles = SecurityUtils.getRoles(); String principal = SecurityUtils.getPrincipal(); diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java index 24e34804e56..9abbe28525f 100644 --- a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java +++ b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java @@ -21,6 +21,7 @@ import java.io.File; import java.io.IOException; import java.net.URI; +import java.net.URISyntaxException; import java.util.List; import org.apache.commons.io.FileUtils; @@ -146,14 +147,20 @@ private void testShowNotebookListOnNavbar() throws Exception { } } - private void logoutUser(String userName) { + private void logoutUser(String userName) throws URISyntaxException { ZeppelinITUtils.sleep(500, false); driver.findElement(By.xpath("//div[contains(@class, 'navbar-collapse')]//li[contains(.,'" + userName + "')]")).click(); ZeppelinITUtils.sleep(500, false); driver.findElement(By.xpath("//div[contains(@class, 'navbar-collapse')]//li[contains(.,'" + userName + "')]//a[@ng-click='navbar.logout()']")).click(); - ZeppelinITUtils.sleep(5000, false); + ZeppelinITUtils.sleep(2000, false); + if (driver.findElement(By.xpath("//*[@id='loginModal']//div[contains(@class, 'modal-header')]/button")) + .isDisplayed()) { + driver.findElement(By.xpath("//*[@id='loginModal']//div[contains(@class, 'modal-header')]/button")).click(); + } + driver.get(new URI(driver.getCurrentUrl()).resolve("/#/").toString()); + ZeppelinITUtils.sleep(500, false); } // @Test