PTL_USER SafeDB 암호화 적용 / 포탈 사용자 마스킹 처리 해제
Update Hibernate configuration and enhance user management features - Added Hibernate type tracing for improved debugging. - Introduced new error messages for SafeDB operations in LocaleMessage properties. - Updated portal user management to default to unmasked state. - Refactored selectDetail method to handle masking option.
This commit is contained in:
@@ -93,6 +93,7 @@
|
||||
<prop key="hibernate.hbm2ddl.auto">none</prop>
|
||||
<prop key="hibernate.format_sql">true</prop>
|
||||
<prop key="hibernate.show_sql">true</prop>
|
||||
<prop key="hibernate.type">trace</prop>
|
||||
<prop key="hibernate.dialect">${hibernate.dialect:org.hibernate.dialect.Oracle12cDialect}
|
||||
</prop>
|
||||
<prop key="hibernate.jdbc.batch_size">100</prop>
|
||||
|
||||
@@ -58,6 +58,8 @@
|
||||
.setFormat(nameOptionFormat).rendering();
|
||||
});
|
||||
|
||||
setSearchable('searchOrgId');
|
||||
|
||||
putSelectFromParam();
|
||||
select_approvalStatus = ": ;" + getGridSelectText("CODE", "NAME", json.approvalStatusRows);
|
||||
select_userStatus = ": ;" + getGridSelectText("CODE", "NAME", json.userStatusRows);
|
||||
@@ -86,7 +88,7 @@
|
||||
'<%= localeMessage.getString("portalUser.orgName") %>',
|
||||
'<%= localeMessage.getString("portalUser.name") %>',
|
||||
'<%= localeMessage.getString("portalUser.userId") %>',
|
||||
'<%= localeMessage.getString("portalUser.mobile") %>',
|
||||
<%--'<%= localeMessage.getString("portalUser.mobile") %>',--%>
|
||||
'<%= localeMessage.getString("portalUser.roleName") %>',
|
||||
'<%= localeMessage.getString("portalUser.userStatus") %>',
|
||||
'<%= localeMessage.getString("portalUser.createOn") %>',
|
||||
@@ -98,7 +100,7 @@
|
||||
{name: 'portalOrgUIs.orgName', align: 'center', width: "120"},
|
||||
{name: 'userName', align: 'center', width: "80" },
|
||||
{name: 'loginId', align: 'center', width: "150" },
|
||||
{name: 'mobileNumber', align: 'center', width: "100" },
|
||||
// {name: 'mobileNumber', align: 'center', width: "100" },
|
||||
{name: 'roleCodeDescription', align: 'center', width: "80"},
|
||||
{name: 'userStatusDescription', align: 'center', width: "50"},
|
||||
{name: 'createdDate', align: 'center', width: "100", formatter: timeStampFormat},
|
||||
@@ -232,7 +234,9 @@
|
||||
<th style="width:10%; min-width:100px;"><%= localeMessage.getString("portalUser.name") %>
|
||||
</th>
|
||||
<td><input type="text" name="searchUserName"></td>
|
||||
<th style="width:10%; min-width:100px;"><%= localeMessage.getString("portalUser.userId") %>
|
||||
|
||||
<th style="width:10%; min-width:100px;">
|
||||
<%= localeMessage.getString("portalUser.userId") %>
|
||||
</th>
|
||||
<td><input type="text" name="searchUserId" value="${param.searchUserId}"></td>
|
||||
<th style="width:10%; min-width:100px;"><%= localeMessage.getString("portalUser.mobileNumber") %>
|
||||
|
||||
@@ -183,6 +183,8 @@
|
||||
$('#orgInfoSection').hide();
|
||||
}
|
||||
|
||||
// 25.09.23 - 마스킹 해제 상태를 기본으로 적용 / Rinjae
|
||||
updateButtonStates($("#userStatus").val(), true);
|
||||
},
|
||||
error: function (e) {
|
||||
alert(e.responseText);
|
||||
@@ -530,9 +532,11 @@
|
||||
</div>
|
||||
<div class="content_middle">
|
||||
<div class="search_wrap">
|
||||
<button type="button" class="cssbtn" id="btn_unmask" level="W" status="DETAIL">
|
||||
<!-- 2025.09.23 - 마스킹 해제 상태를 기본으로 적용 / Rinjae -->
|
||||
<%--<button type="button" class="cssbtn" id="btn_unmask" level="W" status="DETAIL">
|
||||
<i class="material-icons">lock_open</i> 마스킹해제
|
||||
</button>
|
||||
</button>--%>
|
||||
|
||||
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW">
|
||||
<i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %>
|
||||
</button>
|
||||
|
||||
+1
@@ -11,6 +11,7 @@ public class PortalUserUISearch {
|
||||
private String searchUserId;
|
||||
private String searchUserName;
|
||||
private String searchOrgId;
|
||||
private String searchOrgName;
|
||||
private String searchEmailAddr;
|
||||
private String searchMobileNumber;
|
||||
private String searchRoleCode;
|
||||
|
||||
@@ -47,12 +47,13 @@ public class PortalUserManController extends BaseAnnotationController {
|
||||
return ResponseEntity.ok(new GridResponse<>(page));
|
||||
}
|
||||
|
||||
// 2025.09.23 : 마스킹 해제를 기본상태로 변경 / Rinjae
|
||||
/* 마스킹 처리된 값
|
||||
* 수정버튼 비활성화. -> "마스킹해제" 버튼 클릭후 언마스크
|
||||
* */
|
||||
@PostMapping(value = "/onl/apim/portaluser/portalUserMan.json", params = "cmd=DETAIL")
|
||||
public ResponseEntity<PortalUserUI> selectDetail(String id) {
|
||||
PortalUserUI portalUserUI = portalUserManService.selectDetail(id);
|
||||
PortalUserUI portalUserUI = portalUserManService.selectDetail(id, false);
|
||||
return ResponseEntity.ok(portalUserUI);
|
||||
}
|
||||
|
||||
@@ -61,7 +62,7 @@ public class PortalUserManController extends BaseAnnotationController {
|
||||
if (StringUtils.isBlank(reason)) {
|
||||
throw new BizException("마스킹 해제 사유를 입력해 주세요.");
|
||||
}
|
||||
PortalUserUI portalUserUI = portalUserManService.selectDetailUnmask(id);
|
||||
PortalUserUI portalUserUI = portalUserManService.selectDetail(id, false);
|
||||
return ResponseEntity.ok(portalUserUI);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.eactive.eai.rms.onl.apim.masking.MaskingUtils;
|
||||
import com.eactive.eai.rms.onl.apim.portalorg.PortalOrgManService;
|
||||
import com.eactive.eai.rms.onl.common.exception.BizException;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -31,6 +32,7 @@ import java.util.List;
|
||||
@Service
|
||||
@Transactional(transactionManager = "transactionManagerForEMS")
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class PortalUserManService extends BaseService {
|
||||
|
||||
private final PortalUserService portalUserService;
|
||||
@@ -45,7 +47,8 @@ public class PortalUserManService extends BaseService {
|
||||
public Page<PortalUserUI> selectList(Pageable pageable, PortalUserUISearch portalUserUISearch) {
|
||||
Page<PortalUser> portalUser = portalUserService.findAll(pageable, portalUserUISearch);
|
||||
return portalUser.map(entity -> {
|
||||
PortalUserUI ui = convertToUIWithMaskOption(entity, true);
|
||||
PortalUserUI ui = convertToUIWithMaskOption(entity, false);
|
||||
|
||||
if (entity.getPortalOrg() != null) {
|
||||
setPortalOrgUI(entity, ui);
|
||||
}
|
||||
@@ -53,9 +56,10 @@ public class PortalUserManService extends BaseService {
|
||||
});
|
||||
}
|
||||
|
||||
public PortalUserUI selectDetail(String id) {
|
||||
public PortalUserUI selectDetail(String id, boolean isMasked) {
|
||||
PortalUser portalUser = portalUserService.getById(id);
|
||||
PortalUserUI portalUserUI = convertToUIWithMaskOption(portalUser, true);
|
||||
PortalUserUI portalUserUI = convertToUIWithMaskOption(portalUser, isMasked);
|
||||
|
||||
if (portalUser.getPortalOrg() != null) {
|
||||
setPortalOrgUI(portalUser, portalUserUI);
|
||||
}
|
||||
@@ -63,12 +67,7 @@ public class PortalUserManService extends BaseService {
|
||||
}
|
||||
|
||||
public PortalUserUI selectDetailUnmask(String id) {
|
||||
PortalUser portalUser = portalUserService.getById(id);
|
||||
PortalUserUI portalUserUI = convertToUIWithMaskOption(portalUser, false);
|
||||
if (portalUser.getPortalOrg() != null) {
|
||||
setPortalOrgUI(portalUser, portalUserUI);
|
||||
}
|
||||
return portalUserUI;
|
||||
return selectDetail(id, false);
|
||||
}
|
||||
|
||||
private void setPortalOrgUI(PortalUser portalUser, PortalUserUI portalUserUI) {
|
||||
|
||||
@@ -2596,4 +2596,8 @@ auditLogMan.parameters = Parameters
|
||||
auditLogMan.remoteAddress = Remote Address
|
||||
auditLogMan.systemCode = System Code
|
||||
auditLogMan.title = Search Audit Log
|
||||
auditLogMan.userId = User ID
|
||||
auditLogMan.userId = User ID
|
||||
|
||||
|
||||
safeDB.decryptError = SafeDB Decrypt Error
|
||||
safeDB.encryptError = SafeDB Encrypt Error
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user