From 2587883443de4a099ce5ebddc847fcf61ed2ac67 Mon Sep 17 00:00:00 2001 From: elgekko Date: Sat, 1 Apr 2023 21:20:49 +0200 Subject: [PATCH] Login redirect javitasa --- .../src/user/jobengine/zk/model/IndexModel.java | 4 ++-- .../src/user/jobengine/zk/model/LoginModel.java | 9 ++++++++- .../src/user/jobengine/zk/util/AuthInitiator.java | 10 ++++++++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/server/user.mediacube.gui/src/user/jobengine/zk/model/IndexModel.java b/server/user.mediacube.gui/src/user/jobengine/zk/model/IndexModel.java index 80786d2d..bf9d5b07 100644 --- a/server/user.mediacube.gui/src/user/jobengine/zk/model/IndexModel.java +++ b/server/user.mediacube.gui/src/user/jobengine/zk/model/IndexModel.java @@ -28,8 +28,8 @@ import user.jobengine.zk.util.SessionUtil; public class IndexModel extends BaseModel { private static final Logger logger = LogManager.getLogger(); private String page; - private Map pathMap = ListUtils.asMap("/", "searchitems", "jobs", "jobs", "missingmaterials", "missingmaterials", "newshistory", - "newshistory", "edithistory", "edithistory", "statistics", "statistics", "maestro", "maestro", "pwdgen", "pwdgen"); + private Map pathMap = ListUtils.asMap("/", "searchitems", "login", "login", "jobs", "jobs", "missingmaterials", "missingmaterials", + "newshistory", "newshistory", "edithistory", "edithistory", "statistics", "statistics", "maestro", "maestro", "pwdgen", "pwdgen"); @Wire Component appTitle; diff --git a/server/user.mediacube.gui/src/user/jobengine/zk/model/LoginModel.java b/server/user.mediacube.gui/src/user/jobengine/zk/model/LoginModel.java index 09feb4ae..47f39a82 100644 --- a/server/user.mediacube.gui/src/user/jobengine/zk/model/LoginModel.java +++ b/server/user.mediacube.gui/src/user/jobengine/zk/model/LoginModel.java @@ -1,5 +1,7 @@ package user.jobengine.zk.model; +import java.util.Arrays; + import org.apache.commons.lang.StringUtils; import org.zkoss.bind.annotation.AfterCompose; import org.zkoss.bind.annotation.Command; @@ -21,7 +23,12 @@ public class LoginModel extends BaseModel { @AfterCompose public void afterCompose(@ContextParam(ContextType.VIEW) Component view) { - query = SessionUtil.getQueryString(); + String action = Executions.getCurrent().getParameter("action"); + if ("login".equals(action)) { + query = SessionUtil.getQueryString(Arrays.asList("action")); + } else { + query = SessionUtil.getQueryString(); + } MediaCubeConfig mediaCubeConfig = SessionUtil.getMediaCubeConfig(); MediaCubeAuthentication authentication = mediaCubeConfig.getAuthentication(); diff --git a/server/user.mediacube.gui/src/user/jobengine/zk/util/AuthInitiator.java b/server/user.mediacube.gui/src/user/jobengine/zk/util/AuthInitiator.java index 24a10be9..6cbfa63a 100644 --- a/server/user.mediacube.gui/src/user/jobengine/zk/util/AuthInitiator.java +++ b/server/user.mediacube.gui/src/user/jobengine/zk/util/AuthInitiator.java @@ -17,9 +17,15 @@ import org.zkoss.zk.ui.util.Initiator; public class AuthInitiator implements Initiator { @Override public void doInit(Page page, Map args) throws Exception { + HttpServletRequest request = (HttpServletRequest) Executions.getCurrent().getNativeRequest(); + String action = request.getParameter("action"); + if ("login".equals(action)) { + return; + } + if (!SessionUtil.isAuthenticated()) { - Cookie[] cookies = ((HttpServletRequest) Executions.getCurrent().getNativeRequest()).getCookies(); + Cookie[] cookies = request.getCookies(); Optional clientTheme = Arrays.stream(cookies).filter(c -> "mediacube-theme".equals(c.getName())).findFirst(); String theme = null; if (clientTheme.isPresent()) { @@ -28,7 +34,7 @@ public class AuthInitiator implements Initiator { theme = SessionUtil.getMediaCubeConfig().getTheme() == null ? "silvertail" : SessionUtil.getMediaCubeConfig().getTheme(); } SessionUtil.applyTheme(theme); - SessionUtil.redirect("/pages/login.zul"); + SessionUtil.redirect("/actions/login"); } } -- 2.54.0