From d658d847366cae03c316245312830064be3379f3 Mon Sep 17 00:00:00 2001 From: Rinjae Date: Tue, 21 Oct 2025 11:14:56 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=8C=EB=93=9C=20=EC=98=A4=EB=A5=98=20?= =?UTF-8?q?=EB=8C=80=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PortalAuthenticationSuccessHandler.java | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/eactive/apim/portal/config/PortalAuthenticationSuccessHandler.java b/src/main/java/com/eactive/apim/portal/config/PortalAuthenticationSuccessHandler.java index 77f90ad..b7f755a 100644 --- a/src/main/java/com/eactive/apim/portal/config/PortalAuthenticationSuccessHandler.java +++ b/src/main/java/com/eactive/apim/portal/config/PortalAuthenticationSuccessHandler.java @@ -5,18 +5,9 @@ import com.eactive.apim.portal.portaluser.entity.PortalUser; import com.eactive.apim.portal.portaluser.entity.PortalUserEnums; import com.eactive.apim.portal.portaluser.entity.UserPasswordHistory; import com.eactive.apim.portal.portaluser.repository.PortalUserRepository; - -import java.io.IOException; -import java.time.LocalDateTime; -import java.util.Optional; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - import com.eactive.apim.portal.portaluser.repository.UserPasswordHistoryRepository; +import com.eactive.apim.portal.template.entity.MessageCode; import com.eactive.apim.portal.template.entity.MessageRequest; -import com.eactive.apim.portal.template.entity.MessageRequestEnums; import com.eactive.apim.portal.template.repository.MessageRequestRepository; import lombok.RequiredArgsConstructor; import org.springframework.security.core.Authentication; @@ -24,6 +15,14 @@ import org.springframework.security.web.authentication.AuthenticationSuccessHand import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.Optional; + @Service @Transactional @@ -40,7 +39,11 @@ public class PortalAuthenticationSuccessHandler implements AuthenticationSuccess public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { String username = request.getParameter("id"); - PortalUser user = portalUserRepository.findPortalUserByEmailAddr(username).get(); + PortalUser user = portalUserRepository.findPortalUserByEmailAddr(username).orElse(null); + if (user == null) { + response.sendRedirect(request.getContextPath() + "/login?error=true"); + return; + } user.setLoginFailureCount(0); portalUserRepository.save(user); @@ -94,7 +97,7 @@ public class PortalAuthenticationSuccessHandler implements AuthenticationSuccess } private boolean isTemporaryPasswordLogin(PortalUser user) { - Optional latestResetRequest = messageRequestRepository.findFirstByEmailAndMessageCodeOrderByRequestDateDesc(user.getLoginId(), MessageRequestEnums.MessageCode.USER_PASSWORD_RESET); + Optional latestResetRequest = messageRequestRepository.findFirstByEmailAndMessageCodeOrderByRequestDateDesc(user.getLoginId(), MessageCode.USER_PASSWORD_RESET); if (latestResetRequest.isPresent()) {