Merge remote-tracking branch 'origin/staging' of C:/eactive/workspaces/eapim-git/bundles/250930/eapim-admin_incremental_2025-09-22.bundle into staging
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package com.eactive.eai.custom.kjb.common.spring;
|
||||
|
||||
import com.eactive.ext.kjb.safedb.KjbSafedbWrapper;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
|
||||
public class KjbSafedbPasswordEncoder implements PasswordEncoder {
|
||||
@Override
|
||||
public String encode(CharSequence rawPassword) {
|
||||
KjbSafedbWrapper safedb = KjbSafedbWrapper.getInstance();
|
||||
return safedb.encryptPassword(rawPassword.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean matches(CharSequence rawPassword, String encodedPassword) {
|
||||
KjbSafedbWrapper safedb = KjbSafedbWrapper.getInstance();
|
||||
String encoded = safedb.encryptPassword(rawPassword.toString());
|
||||
return encoded.equals(encodedPassword);
|
||||
}
|
||||
}
|
||||
@@ -563,14 +563,14 @@ public class MainController implements InterceptorSkipController {
|
||||
@RequestMapping("/changePassword.do")
|
||||
public String changePassword(HttpServletRequest request,
|
||||
String changePassword, String confirmPassword,
|
||||
String userId, String password) {
|
||||
String resetUserId, String resetPassword) {
|
||||
HttpSession session = request.getSession();
|
||||
|
||||
try {
|
||||
|
||||
// 로그인 User ID 체크.
|
||||
Optional<UserInfo> userInfoOptional = userInfoService
|
||||
.findById(userId);
|
||||
.findById(resetUserId);
|
||||
|
||||
if (!userInfoOptional.isPresent()) {
|
||||
UserAccessLogger.log(request, LOG_CATEGORY_LOGIN, "F",
|
||||
@@ -604,8 +604,8 @@ public class MainController implements InterceptorSkipController {
|
||||
}
|
||||
|
||||
// 3. 비밀번호 체크
|
||||
if (!userInfo.getPassword().equals(Seed.encrypt(password))
|
||||
&& !userInfo.getUserid().equals(userId)) {
|
||||
if (!userInfo.getPassword().equals(Seed.encrypt(resetPassword))
|
||||
&& !userInfo.getUserid().equals(resetUserId)) {
|
||||
UserAccessLogger.log(request, LOG_CATEGORY_LOGIN, "F",
|
||||
localeMessage
|
||||
.getString("login.pwdmismatch5"));
|
||||
|
||||
@@ -56,15 +56,6 @@ public class PortalOrgManController extends BaseAnnotationController {
|
||||
return ResponseEntity.ok(result);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/onl/apim/portalorg/portalOrgMan.json", params = "cmd=UNMASK")
|
||||
public ResponseEntity<Map<String, Object>> selectDetailUnmask(String id, String reason) {
|
||||
if (StringUtils.isBlank(reason)) {
|
||||
throw new BizException("마스킹 해제 사유를 입력해 주세요.");
|
||||
}
|
||||
Map<String, Object> result = portalOrgManService.selectDetailWithUsersUnmask(id);
|
||||
return ResponseEntity.ok(result);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/onl/apim/portalorg/portalOrgMan.json", params = "cmd=LIST_INIT_COMBO")
|
||||
public ResponseEntity<Map<String, Object>> initCombo() {
|
||||
List<ComboVo> approvalStatusList = comboService.getMonitoringCodeSortedBySeq("APPROVE_STATUS_CODE"); // 승인상태코드
|
||||
|
||||
@@ -172,25 +172,9 @@ public class PortalOrgManService extends BaseService {
|
||||
private PortalUserCorpManagerUI convertCorporateManagerToUIWithMaskOption(PortalUser corporateManager, boolean isMasked) {
|
||||
PortalUserCorpManagerUI ui = portalUserCorpManagerUIMapper.toVo(corporateManager);
|
||||
|
||||
if (ui != null && isMasked) {
|
||||
if (StringUtils.isNotBlank(ui.getUserName())) {
|
||||
ui.setUserName(MaskingUtils.maskName(ui.getUserName()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(ui.getEmailAddr())) {
|
||||
ui.setEmailAddr(MaskingUtils.maskEmailId(ui.getEmailAddr()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(ui.getMobileNumber())) {
|
||||
ui.setMobileNumber(MaskingUtils.maskPhoneNumber(ui.getMobileNumber()));
|
||||
}
|
||||
}
|
||||
|
||||
return ui;
|
||||
}
|
||||
|
||||
public Map<String, Object> selectDetailWithUsersUnmask(String id) {
|
||||
return getDetailWithUsers(id, false);
|
||||
}
|
||||
|
||||
private void setFileInfo(PortalOrg portalOrg, PortalOrgUI ui) {
|
||||
Optional.ofNullable(portalOrg.getCompRegFile())
|
||||
.filter(StringUtils::isNotBlank)
|
||||
|
||||
@@ -41,9 +41,11 @@ public class PortalUserManService extends BaseService {
|
||||
private final PortalOrgService portalOrgService;
|
||||
private final FileService fileService;
|
||||
private final PortalOrgManService portalOrgManService;
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
// private final PasswordEncoder passwordEncoder;
|
||||
private final PasswordEncoder kjbSafedbPasswordEncoder;
|
||||
private final PortalUserTermsService portalUserTermsService;
|
||||
|
||||
|
||||
public Page<PortalUserUI> selectList(Pageable pageable, PortalUserUISearch portalUserUISearch) {
|
||||
Page<PortalUser> portalUser = portalUserService.findAll(pageable, portalUserUISearch);
|
||||
return portalUser.map(entity -> {
|
||||
@@ -122,7 +124,7 @@ public class PortalUserManService extends BaseService {
|
||||
}
|
||||
|
||||
PortalUser portalUser = portalUserUIMapper.toEntity(portalUserUI);
|
||||
portalUser.setPasswordHash(passwordEncoder.encode("!" + portalUserUI.getLoginId()));
|
||||
portalUser.setPasswordHash(kjbSafedbPasswordEncoder.encode("!" + portalUserUI.getLoginId()));
|
||||
portalUser.setLoginFailureCount(0);
|
||||
portalUser.setAccountLockYn("N");
|
||||
portalUser.setEmailAddr(portalUserUI.getLoginId());
|
||||
|
||||
@@ -216,6 +216,20 @@ public class ApiInterfaceService extends OnlBaseService {
|
||||
apiInterfaceUI.setInboundResponseStandardMessageItems(convertMapToStdMessageItems(restOption.getStandardCommonFields()));
|
||||
}
|
||||
}
|
||||
|
||||
if("syncAsync".equals(apiInterfaceUI.getSyncAsyncType()) && serviceMessageEntityList != null && serviceMessageEntityList.size() > 1){
|
||||
ServiceMessageEntity extraServiceMessageEntity = serviceMessageEntityList.get(1);
|
||||
apiInterfaceUI.setToResponseAdapter(extraServiceMessageEntity.getPsvsysadptrbzwkgroupname());
|
||||
String restOptionStr = extraServiceMessageEntity.getRestoption();
|
||||
|
||||
if(StringUtils.isNotBlank(restOptionStr)) {
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
RestOption restOption = mapper.readValue(restOptionStr, RestOption.class);
|
||||
|
||||
apiInterfaceUI.setOutboundResponseHttpMethod(restOption.getMethod());
|
||||
apiInterfaceUI.setOutboundResponseRestPath(restOption.getExtraPath());
|
||||
}
|
||||
}
|
||||
|
||||
apiInterfaceUI.setTransformYn(transformYn);
|
||||
apiInterfaceUI.setErrTransformYn(errTransformYn); // 추가
|
||||
@@ -430,8 +444,8 @@ public class ApiInterfaceService extends OnlBaseService {
|
||||
public void setServiceMessageRoutingInfo(ApiInterfaceUI vo, EAIMessageEntity eaiMessageEntity, List<ServiceMessageEntity> serviceMessageEntityList) throws Exception {
|
||||
// 기본 요청 ServiceMessageEntity 설정
|
||||
ServiceMessageEntity requestEntity = serviceMessageEntityList.get(0);
|
||||
|
||||
if ("async".equals(vo.getSyncAsyncType())) {
|
||||
|
||||
if ("async".equals(vo.getSyncAsyncType()) || "syncAsync".equals(vo.getSyncAsyncType())) {
|
||||
requestEntity.setPsvintfacdsticname("ASYN");
|
||||
}
|
||||
|
||||
@@ -462,6 +476,32 @@ public class ApiInterfaceService extends OnlBaseService {
|
||||
|
||||
setRouteInfo(vo, vo.getInboundResponseHttpMethod(), vo.getInboundResponseRestPath(), vo.getFromResponseAdapter(), responseEntity, vo.getInboundResponseStandardMessageItems());
|
||||
}
|
||||
|
||||
// syncAsync 타입인 경우 응답용 ServiceMessageEntity 추가 처리
|
||||
if ("syncAsync".equals(vo.getSyncAsyncType())) {
|
||||
ServiceMessageEntity responseEntity;
|
||||
|
||||
// ServiceMessageEntity가 없으면 새로 생성
|
||||
if (serviceMessageEntityList.size() < 2) {
|
||||
responseEntity = new ServiceMessageEntity();
|
||||
responseEntity.setId(new ServiceMessageEntityId(vo.getEaiSvcName(), 2));
|
||||
responseEntity.setEaimessage(eaiMessageEntity);
|
||||
serviceMessageEntityList.add(responseEntity);
|
||||
} else {
|
||||
responseEntity = serviceMessageEntityList.get(1);
|
||||
}
|
||||
|
||||
// ServiceMessageEntity 설정
|
||||
responseEntity.setPsvsysadptrbzwkgroupname(vo.getToResponseAdapter());
|
||||
responseEntity.setPsvintfacdsticname("ASYN");
|
||||
|
||||
// REST 정보 설정
|
||||
AdapterGroupUI responseAdapter = adapterService.selectDetail(vo.getToResponseAdapter());
|
||||
String responseRoutName = getOutboundProcessorName(responseAdapter);
|
||||
responseEntity.setOutbndroutname(responseRoutName);
|
||||
|
||||
setRouteInfo(vo, vo.getOutboundResponseHttpMethod(), vo.getOutboundResponseRestPath(), vo.getToResponseAdapter(), responseEntity, vo.getStandardMessageItems());
|
||||
}
|
||||
}
|
||||
|
||||
public static List<StdMessageItemUI> convertMapToStdMessageItems(Map<String, String> standardCommonFields) {
|
||||
|
||||
@@ -54,6 +54,11 @@ public class ApiInterfaceUI {
|
||||
private String inboundResponseHttpMethod;
|
||||
private String inboundResponseRestPath;
|
||||
private String fromResponseAdapter;
|
||||
|
||||
//SYNC-ASYNC 용
|
||||
private String outboundResponseHttpMethod;
|
||||
private String outboundResponseRestPath;
|
||||
private String toResponseAdapter;
|
||||
|
||||
private String inboundErrResponseLayout;
|
||||
private String errResponseTransform;
|
||||
|
||||
Reference in New Issue
Block a user