From dc6759ea9045e3ccc0d66e43880266e4f2e170fa Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Sun, 18 Feb 2024 00:34:37 +0100 Subject: [PATCH] Show error message when login fails --- .../ui/auth/LdapUserDetailsContextMapper.java | 3 +++ .../user/lis/ui/session/SessionSettings.java | 4 +++ .../hu/user/lis/ui/view/LoginViewModel.java | 27 +++++++++++++++++-- .../web/editor/project/incoming-invoices.zul | 3 +-- .../web/editor/project/outgoing-invoices.zul | 3 +-- .../web/editor/project/treasuries.zul | 3 +-- lis-ui/src/main/resources/web/login.zul | 5 ++++ 7 files changed, 40 insertions(+), 8 deletions(-) diff --git a/lis-ui/src/main/java/hu/user/lis/ui/auth/LdapUserDetailsContextMapper.java b/lis-ui/src/main/java/hu/user/lis/ui/auth/LdapUserDetailsContextMapper.java index 2cb9dfe..75497e8 100644 --- a/lis-ui/src/main/java/hu/user/lis/ui/auth/LdapUserDetailsContextMapper.java +++ b/lis-ui/src/main/java/hu/user/lis/ui/auth/LdapUserDetailsContextMapper.java @@ -1,6 +1,7 @@ package hu.user.lis.ui.auth; import hu.user.lis.db.Associate; +import hu.user.lis.db.Vat; import hu.user.lis.db.repository.AssociateRepository; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; @@ -44,6 +45,8 @@ public class LdapUserDetailsContextMapper extends LdapUserDetailsMapper implemen .name(ctx.getObjectAttribute("displayname").toString()) .active(true) .remotelyAuthenticated(true) + .monthlyCost(0) + .monthlyVat(Vat.PERCENT_0) .build(); // ctx.getObjectAttribute("mail") associateRepository.save(associate); diff --git a/lis-ui/src/main/java/hu/user/lis/ui/session/SessionSettings.java b/lis-ui/src/main/java/hu/user/lis/ui/session/SessionSettings.java index c2be049..92d28f9 100644 --- a/lis-ui/src/main/java/hu/user/lis/ui/session/SessionSettings.java +++ b/lis-ui/src/main/java/hu/user/lis/ui/session/SessionSettings.java @@ -29,6 +29,10 @@ public class SessionSettings { return (String) Executions.getCurrent().getAttribute("javax.servlet.forward.servlet_path"); } + public RuntimeException getLastSecurityException() { + return (RuntimeException) getNativeSession().getAttribute("SPRING_SECURITY_LAST_EXCEPTION"); + } + public String getSessionId() { return getNativeSession().getId(); } diff --git a/lis-ui/src/main/java/hu/user/lis/ui/view/LoginViewModel.java b/lis-ui/src/main/java/hu/user/lis/ui/view/LoginViewModel.java index d8c8e31..c57966f 100644 --- a/lis-ui/src/main/java/hu/user/lis/ui/view/LoginViewModel.java +++ b/lis-ui/src/main/java/hu/user/lis/ui/view/LoginViewModel.java @@ -2,23 +2,46 @@ package hu.user.lis.ui.view; import hu.user.lis.ui.properties.ApplicationUIProperties; import hu.user.lis.ui.properties.BuildInformation; +import hu.user.lis.ui.session.SessionSettings; import lombok.Getter; import lombok.extern.log4j.Log4j2; +import org.zkoss.bind.annotation.Init; +import org.zkoss.bind.annotation.NotifyChange; +import org.zkoss.lang.Strings; import org.zkoss.zk.ui.select.annotation.VariableResolver; import org.zkoss.zk.ui.select.annotation.WireVariable; +import java.util.Objects; + @Log4j2 @VariableResolver(org.zkoss.zkplus.spring.DelegatingVariableResolver.class) @Getter public class LoginViewModel { @WireVariable - BuildInformation buildInformation; + private BuildInformation buildInformation; + + @WireVariable + private ApplicationUIProperties applicationUIProperties; @WireVariable - ApplicationUIProperties applicationUIProperties; + private SessionSettings sessionSettings; + + private String message; public LoginViewModel() { } + + @Init + @NotifyChange("message") + public void init() { + RuntimeException ex = sessionSettings.getLastSecurityException(); + if (Objects.nonNull(ex)) { + message = "Hibás felhasználó név vagy jelszó!"; + log.warn(ex.getMessage()); + } else { + message = Strings.EMPTY; + } + } } diff --git a/lis-ui/src/main/resources/web/editor/project/incoming-invoices.zul b/lis-ui/src/main/resources/web/editor/project/incoming-invoices.zul index 375cdb4..45ba6de 100644 --- a/lis-ui/src/main/resources/web/editor/project/incoming-invoices.zul +++ b/lis-ui/src/main/resources/web/editor/project/incoming-invoices.zul @@ -17,7 +17,6 @@ @@ -32,7 +31,7 @@ align="left"/>