diff --git a/src/main/java/com/eactive/apim/portal/apps/auth/service/MessageSender.java b/src/main/java/com/eactive/apim/portal/apps/auth/service/MessageSender.java index 70a0ab9..10c26d8 100644 --- a/src/main/java/com/eactive/apim/portal/apps/auth/service/MessageSender.java +++ b/src/main/java/com/eactive/apim/portal/apps/auth/service/MessageSender.java @@ -1,6 +1,6 @@ package com.eactive.apim.portal.apps.auth.service; -import com.eactive.apim.portal.portaluser.event.UserVerificationMobilePhoneEvent; +import com.eactive.apim.portal.template.entity.MessageCode; import com.eactive.apim.portal.template.service.MessageHandlerService; import com.eactive.apim.portal.template.service.MessageRecipient; import org.springframework.beans.factory.annotation.Autowired; @@ -31,15 +31,15 @@ public class MessageSender { // 이메일, SMS MESSAEG_CODE 다름 처리 - String messageCode = ""; + MessageCode code; if ("email".equalsIgnoreCase(msgType)) { - messageCode = "USER_VERIFICATION_EMAIL"; + code = MessageCode.USER_VERIFICATION_EMAIL; } else if ("sms".equalsIgnoreCase(msgType)) { - messageCode = "USER_VERIFICATION_MOBILEPHONE"; + code = MessageCode.USER_VERIFICATION_MOBILEPHONE; } else { throw new IllegalArgumentException("Unsupported message type: " + msgType); } - messageHandlerService.publishEvent(UserVerificationMobilePhoneEvent.KEY, recipient, params); + messageHandlerService.publishEvent(code, recipient, params); } } diff --git a/src/main/java/com/eactive/apim/portal/apps/user/facade/OrgRegisterFacadeImpl.java b/src/main/java/com/eactive/apim/portal/apps/user/facade/OrgRegisterFacadeImpl.java index 6868743..e3e3994 100644 --- a/src/main/java/com/eactive/apim/portal/apps/user/facade/OrgRegisterFacadeImpl.java +++ b/src/main/java/com/eactive/apim/portal/apps/user/facade/OrgRegisterFacadeImpl.java @@ -19,7 +19,7 @@ import com.eactive.apim.portal.file.service.FileTypeContext; import com.eactive.apim.portal.portalorg.entity.PortalOrg; import com.eactive.apim.portal.portaluser.entity.PortalUser; import com.eactive.apim.portal.portaluser.entity.PortalUserEnums; -import com.eactive.apim.portal.portaluser.event.UserEmailActivationEvent; +import com.eactive.apim.portal.portaluser.event.UserVerificationEmailEvent; import com.eactive.apim.portal.portaluser.repository.PortalUserRepository; import com.eactive.apim.portal.template.service.MessageHandlerService; import com.eactive.apim.portal.template.service.MessageRecipient; @@ -206,7 +206,7 @@ public class OrgRegisterFacadeImpl implements OrgRegisterFacade { try { String encToken = encryptionUtil.encrypt(tokenValue); params.put("token", Base64.encode(encToken.getBytes(StandardCharsets.UTF_8))); - messageHandlerService.publishEvent(UserEmailActivationEvent.KEY, recipient, params); + messageHandlerService.publishEvent(UserVerificationEmailEvent.KEY, recipient, params); } catch (NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) { throw new SystemException("암호화 모듈 오류"); } diff --git a/src/main/java/com/eactive/apim/portal/apps/user/facade/UserRegisterFacadeImpl.java b/src/main/java/com/eactive/apim/portal/apps/user/facade/UserRegisterFacadeImpl.java index 1af158c..4411baa 100644 --- a/src/main/java/com/eactive/apim/portal/apps/user/facade/UserRegisterFacadeImpl.java +++ b/src/main/java/com/eactive/apim/portal/apps/user/facade/UserRegisterFacadeImpl.java @@ -16,7 +16,7 @@ import com.eactive.apim.portal.invitation.entity.UserInvitation; import com.eactive.apim.portal.invitation.entity.UserInvitationEnums; import com.eactive.apim.portal.invitation.repository.UserInvitationRepository; import com.eactive.apim.portal.portaluser.entity.PortalUser; -import com.eactive.apim.portal.portaluser.event.UserEmailActivationEvent; +import com.eactive.apim.portal.portaluser.event.UserVerificationEmailEvent; import com.eactive.apim.portal.portaluser.repository.PortalUserRepository; import com.eactive.apim.portal.template.service.MessageHandlerService; import com.eactive.apim.portal.template.service.MessageRecipient; @@ -219,7 +219,7 @@ public class UserRegisterFacadeImpl implements UserRegisterFacade { String tokenValue = String.valueOf(authNumberGenerator.generateAuthNumber()); // String tokenValue = registeredUser.getCreatedDate().format(DateTimeFormatter.ofPattern("yyyyMMddHHmm")) + ":" + registeredUser.getId(); params.put("token", tokenValue); - messageHandlerService.publishEvent(UserEmailActivationEvent.KEY, recipient, params); + messageHandlerService.publishEvent(UserVerificationEmailEvent.KEY, recipient, params); // try { // String encToken = encryptionUtil.encrypt(tokenValue); diff --git a/src/main/java/com/eactive/apim/portal/apps/user/service/MessageRequestService.java b/src/main/java/com/eactive/apim/portal/apps/user/service/MessageRequestService.java index b174916..ae4459a 100644 --- a/src/main/java/com/eactive/apim/portal/apps/user/service/MessageRequestService.java +++ b/src/main/java/com/eactive/apim/portal/apps/user/service/MessageRequestService.java @@ -1,7 +1,7 @@ package com.eactive.apim.portal.apps.user.service; +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.stereotype.Service; @@ -16,12 +16,9 @@ public class MessageRequestService { private final MessageRequestRepository messageRequestRepository; - public MessageRequest createMessageRequest(String messageCodeStr, String username, String email, String phone) { + public MessageRequest createMessageRequest(MessageCode messageCode, String username, String email, String phone) { MessageRequest messageRequest = new MessageRequest(); - // String을 MessageCode enum으로 변환 - MessageRequestEnums.MessageCode messageCode = MessageRequestEnums.MessageCode.valueOf(messageCodeStr); - // MessageRequest 설정 messageRequest.setMessageCode(messageCode); messageRequest.setSubject(messageCode.getDescription()); diff --git a/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserAuthService.java b/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserAuthService.java index ccf595b..c69dc2b 100644 --- a/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserAuthService.java +++ b/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserAuthService.java @@ -11,24 +11,13 @@ import com.eactive.apim.portal.config.PortalProperties; import com.eactive.apim.portal.portaluser.entity.PortalUser; import com.eactive.apim.portal.portaluser.entity.PortalUserEnums; import com.eactive.apim.portal.portaluser.entity.PortalUserEnums.RoleCode; -import com.eactive.apim.portal.portaluser.event.UserEmailActivationEvent; import com.eactive.apim.portal.portaluser.event.UserPasswordResetEvent; import com.eactive.apim.portal.portaluser.repository.PortalUserRepository; +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 com.eactive.apim.portal.template.service.MessageHandlerService; import com.eactive.apim.portal.template.service.MessageRecipient; - -import java.nio.charset.StandardCharsets; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.time.format.DateTimeFormatter; -import java.util.HashMap; -import java.util.List; -import javax.crypto.BadPaddingException; -import javax.crypto.IllegalBlockSizeException; -import javax.crypto.NoSuchPaddingException; import lombok.RequiredArgsConstructor; import org.apache.xerces.impl.dv.util.Base64; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -39,6 +28,16 @@ import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.crypto.BadPaddingException; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import java.nio.charset.StandardCharsets; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.List; + @Service @Transactional @RequiredArgsConstructor @@ -120,7 +119,7 @@ public class PortalUserAuthService implements UserDetailsService { // Enum을 직접 전달 List messageRequests = messageRequestRepository.findByEmailAndMessageCode( - user.getLoginId(), MessageRequestEnums.MessageCode.USER_ACTIVATION + user.getLoginId(), MessageCode.USER_VERIFICATION_EMAIL ); if (!messageRequests.isEmpty()) { @@ -134,7 +133,7 @@ public class PortalUserAuthService implements UserDetailsService { String encToken = encryptionUtil.encrypt(tokenValue); params.put("token", Base64.encode(encToken.getBytes(StandardCharsets.UTF_8))); MessageRecipient recipient = createMessageRecipient(user); - messageHandlerService.publishEvent(UserEmailActivationEvent.KEY, recipient, params); + messageHandlerService.publishEvent(MessageCode.USER_VERIFICATION_EMAIL, recipient, params); } catch (NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) { throw new SystemException("암호화 모듈 오류"); } 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..ee5441c 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 @@ -94,7 +93,8 @@ 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()) { diff --git a/src/main/resources/logback-gf63.xml b/src/main/resources/logback-gf63.xml new file mode 100644 index 0000000..a0220d0 --- /dev/null +++ b/src/main/resources/logback-gf63.xml @@ -0,0 +1,67 @@ + + + + + + + + + + ${PATTERN} + + + + ${LOG_PATH}/root.log + + ${LOG_PATH}/backup/root.%d{yyyy-MM-dd}.log + 7 + + ${PATTERN} + + + + ${LOG_PATH}/hibernate.log + + ${LOG_PATH}/hibernate.%d{yyyy-MM-dd}.log + 7 + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file