새로 만들기 , ID/PASS/회원가입 기능추가

This commit is contained in:
nhj 2026-01-23 10:45:57 +09:00
parent acaa27976e
commit c92583750b
7 changed files with 473 additions and 21 deletions

View File

@ -67,9 +67,11 @@ public class Oauth2ResourceConfig extends ResourceServerConfigurerAdapter
@Override
public void configure(HttpSecurity http) throws Exception
{
http.authorizeRequests().mvcMatchers("/sys/LoginLog**" ).permitAll(); // 로그인 이력처리
http.authorizeRequests().mvcMatchers("/main/SearchIdFind.do" ).permitAll(); // 2026.01.14 나혁제 ID 찾기 추가
http.authorizeRequests().mvcMatchers("/main/UserPasswordResetExt.do" ).permitAll(); // 2026.01.14 나혁제 ID 찾기 추가
http.authorizeRequests().mvcMatchers("/sys/LoginLog**" ).permitAll(); // 로그인 이력처리
// 2026.01.19 나혁제 로그인화면 부가기능(ID찾기, password 초기화, 회원가입)
http.authorizeRequests().mvcMatchers("/main/noAuth*.do" ).permitAll();
// http.authorizeRequests().mvcMatchers("/main/SearchIdFind.do" ).permitAll(); // 2026.01.14 나혁제 ID 찾기 추가
// http.authorizeRequests().mvcMatchers("/main/UserPasswordResetExt.do" ).permitAll(); // 2026.01.14 나혁제 ID 찾기 추가
http.authorizeRequests().anyRequest().authenticated();
}

View File

@ -5,9 +5,11 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.egovframe.rte.fdl.idgnr.EgovIdGnrService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
@ -71,6 +73,11 @@ public class MainController
@Autowired
HtmlEmailUtil htmlEmailUtil; // 2026.01.14 나혁제 비밀번호처리 이메일 처리
// 2026.01.21 나혁제 사용자ID 추출 추가
/** egovUsrCnfrmIdGnrService usr_id */
@Resource(name="egovUsrCnfrmIdGnrService")
private EgovIdGnrService idgenUseService;
@Value("${custom.front_host_info}")
private String strFrontHostInfo;
@ -151,11 +158,11 @@ public class MainController
* 작성일 : 2025.01.23
*/
@ResponseBody
@RequestMapping(value="/main/searchIdFind.do")
public ResponseEntity<ResultData> searchIdFind( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
@RequestMapping(value="/main/noAuthSearchIdFind.do")
public ResponseEntity<ResultData> noAuthSearchIdFind( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /main/searchIdFind.do <<<<<<<<<<<<<<<<<<<<<<<<<");
@ -179,15 +186,15 @@ public class MainController
* 작성일 : 2026.01.14
*/
@ResponseBody
@RequestMapping(value="/main/UserPasswordResetExt.do")
public ResponseEntity<ResultData> UserPasswordResetExt( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
@RequestMapping(value="/main/noAuthUserPasswordResetExt.do")
public ResponseEntity<ResultData> noAuthUserPasswordResetExt( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /main/UserPasswordResetExt.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /main/noAuthUserPasswordResetExt.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
@ -206,35 +213,35 @@ public class MainController
}
else if(CommonUtil.nvl(userInfoMap.get("uniqId")).equals(""))
{
resBody.put("resultCd" , -1 );
resBody.put("resultCd" , -2 );
resBody.put("resultMsg", "사용자정보가 존재하지 않습니다." );
return ResultData.ok(resBody);
}
else if(CommonUtil.nvl(userInfoMap.get("emplyrNm")).equals(""))
{
resBody.put("resultCd" , -2 );
resBody.put("resultCd" , -3 );
resBody.put("resultMsg", "사용자명이 존재하지 않습니다." );
return ResultData.ok(resBody);
}
else if(!CommonUtil.nvl(userInfoMap.get("emplyrNm")).equals(requestMap.get("userNm")))
{
resBody.put("resultCd" , -3 );
resBody.put("resultCd" , -4 );
resBody.put("resultMsg", "사용자정보가 일치하지 않습니다." );
return ResultData.ok(resBody);
}
else if(CommonUtil.nvl(userInfoMap.get("emailAdres")).equals(""))
{
resBody.put("resultCd" , -4 );
resBody.put("resultCd" , -5 );
resBody.put("resultMsg", "E-mail 이 존재하지 않습니다." );
return ResultData.ok(resBody);
}
else if(!CommonUtil.nvl(userInfoMap.get("emailAdres")).equals(requestMap.get("userEmail")))
{
resBody.put("resultCd" , -5 );
resBody.put("resultCd" , -6 );
resBody.put("resultMsg", "사용자정보가 일치하지 않습니다." );
return ResultData.ok(resBody);
@ -272,7 +279,170 @@ public class MainController
resBody.put("resultCd" , 0 );
resBody.put("resultMsg", "정상적으로 처리되었습니다. " );
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /main/UserPasswordResetExt.do >>>>>>>>>>>>>>>>>>>>>>>>>");
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /main/noAuthUserPasswordResetExt.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}
/**
* 조직정보 추출(미인증)
* @author urp 인프라본부 나혁제
* 작성일 : 2026.01.20
*/
@RequestMapping(value="/main/noAuthSelectOgrnztIdDetail.do")
@ResponseBody
public ResponseEntity<ResultData> noAuthSelectOgrnztIdDetail( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /main/noAuthSelectOgrnztIdDetail.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
List<LinkedHashMap<String, Object>> resultList = cmmUseService.selectOgrnztIdDetail(requestMap);
resBody.put("resultList" , resultList );
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /main/noAuthSelectOgrnztIdDetail.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}
/**
* 그룹코드정보 추출(미인증)
* @author urp 인프라본부 나혁제
* 작성일 : 2026.01.20
*/
@RequestMapping(value="/main/noAuthSelectGroupIdDetail.do")
@ResponseBody
public ResponseEntity<ResultData> noAuthSelectGroupIdDetail( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /main/noAuthSelectGroupIdDetail.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
List<LinkedHashMap<String, Object>> resultList = cmmUseService.selectGroupIdDetail(requestMap);
resBody.put("resultList" , resultList );
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /main/noAuthSelectGroupIdDetail.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}
/**
* 입력한 사용자아이디의 중복여부를 체크하여 사용가능여부를 확인(미인증)
* @author urp 인프라본부 나혁제
* 작성일 : 2026.01.20
*/
@ResponseBody
@RequestMapping(value="/main/noAuthIdDplctCnfirmAjax.do")
public ResponseEntity<ResultData> noAuthIdDplctCnfirmAjax( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /main/noAuthIdDplctCnfirmAjax.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
int usedCnt = userManageService.checkIdDplct(requestMap);
resBody.put("usedCnt" , usedCnt );
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /main/noAuthIdDplctCnfirmAjax.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}
/**
* 각각의 ID 값을 추출한다.(이인증)
* @author urp 인프라본부 나혁제
* 작성일 : 2026.01.21
*/
@ResponseBody
@RequestMapping(value="/main/noAuthGetIdGen.do")
public ResponseEntity<ResultData> noAuthGetIdGen( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /main/noAuthGetIdGen.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
String strGetIdName = (String)requestMap.get("IdName");
String strGenId = "";
// 사용자 ID
if(strGetIdName.equals("egovUsrCnfrmIdGnrService"))
{
strGenId = idgenUseService.getNextStringId();
}
resBody.put("strGenId", strGenId);
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /main/noAuthGetIdGen.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}
/**
* 사용자등록처리(미인증)
* @author urp 인프라본부 나혁제
* 작성일 : 2026.01.21
*/
@ResponseBody
@RequestMapping(value="/main/noAuthUserInsertExt.do")
public ResponseEntity<ResultData> insertUser( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /main/noAuthUserInsertExt.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
String strPass = (String)requestMap.get("password");
requestMap.put("password", passwordEncoder.encode(strPass));
int iResult = userManageService.insertUser(requestMap);
if(iResult > 0)
{
resBody.put("resultCd" , 0 );
resBody.put("resultMsg" , "정상적으로 등록되었습니다." );
}
else
{
resBody.put("resultCd" , "-1" );
resBody.put("resultMsg" , "사용자 정보 등록중 오류가 발생 하였습니다." );
}
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /main/noAuthUserInsertExt.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}

View File

@ -195,6 +195,11 @@ public class SvcDeskController
}
}
log.info("sessUserSeq [{}]", sessUserSeq );
log.info("inRegUser [{}]", resultIncident.get("inRegUser") );
log.info("inChargeUser [{}]", resultIncident.get("inChargeUser") );
log.info("inDevUser [{}]", resultIncident.get("inDevUser") );
String privType="";
/**
* 1. 본인이 작성한 경우 priv - 승인요청, 삭제(승인완료전) 2. 슈퍼유저인 경우 - 모든권한 허용
@ -226,6 +231,8 @@ public class SvcDeskController
}
}
log.info("privType [{}]", privType );
// 2025.04.01 나혁제 댓글정보 추가
LinkedHashMap<String, Object> inMap = new LinkedHashMap<String, Object>();

View File

@ -1,5 +1,6 @@
package com.urpsys.itmsapi.srm.service;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
@ -53,6 +54,10 @@ public class ReportCheckService
@Resource(name="egovRptIdGnrService")
private EgovIdGnrService egovRptIdGnrService;
// 2026.01.22 나혁제 추가 서비스
/** fileID 추출 */
@Resource(name = "egovFileIdGnrService")
private EgovIdGnrService egovFileIdGnrService;
// 점검보고서 목록 조회
public List<LinkedHashMap<String, Object>> searchReport(LinkedHashMap<String, Object> inMap) throws Exception
@ -172,11 +177,74 @@ public class ReportCheckService
}
}
boolean bReceiptFile = false;
// 파일정보저장
if( fileList != null
&& fileList.size()>0)
{
fileManageService.insertFileInfs(fileList);
bReceiptFile=true;
}
LinkedHashMap<String, Object> inFileMap = new LinkedHashMap<String, Object>();
// 2026.01.22 나혁제 이전파일이 있는경우 새로 새성(새로만들기 기능생성)
if(inMap.get("oldAtchFileId")!=null && !inMap.get("oldAtchFileId").equals(""))
{
inFileMap = new LinkedHashMap<String, Object>();
inFileMap.put("atchFileId", inMap.get("oldAtchFileId"));
// 신청시 파일 정보을 추출
List<LinkedHashMap<String, Object>> oldFileList = fileManageService.selectFileInfs(inFileMap);
String strNewAtchFileId = "";
// 접수시 파일정보가 있는경우 저장
if(bReceiptFile)
{
strNewAtchFileId = (String)fileList.get(0).get("atchFileId");
}
// 접수시 파일정보가 없는경우 file ID 새롭게 부여
else
{
strNewAtchFileId = egovFileIdGnrService.getNextStringId();
}
if (oldFileList != null )
{
List<LinkedHashMap<String, Object>> oldInFileList = new ArrayList();
for(int i=0; i < oldFileList.size(); i++)
{
LinkedHashMap<String, Object> fileMap = oldFileList.get(i);
fileMap.put("atchFileId", strNewAtchFileId);
if(bReceiptFile)
{
fileMap.put("fileSn", fileManageService.getMaxFileSN(fileList.get(0)));
}
else
{
fileMap.put("fileSn", i);
}
oldInFileList.add(fileMap);
}
// 접수시 파일이 있는경우 update
if(oldFileList.size()>0)
{
if(bReceiptFile)
{
fileManageService.updateFileInfs(oldInFileList);
}
else
{
fileManageService.insertFileInfs(oldInFileList);
}
}
}
}
// 승인요청 처리

View File

@ -1,5 +1,6 @@
package com.urpsys.itmsapi.srm.service;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
@ -50,6 +51,10 @@ public class ReportErrorService
@Resource(name="egovRptIdGnrService")
private EgovIdGnrService egovRptIdGnrService;
// 2026.01.22 나혁제 추가 서비스
/** fileID 추출 */
@Resource(name = "egovFileIdGnrService")
private EgovIdGnrService egovFileIdGnrService;
// 장애보고서 목록 조회
public List<LinkedHashMap<String, Object>> searchReport(LinkedHashMap<String, Object> inMap) throws Exception
@ -166,11 +171,74 @@ public class ReportErrorService
}
}
boolean bReceiptFile = false;
// 파일정보저장
if( fileList != null
&& fileList.size()>0)
{
fileManageService.insertFileInfs(fileList);
bReceiptFile=true;
}
LinkedHashMap<String, Object> inFileMap = new LinkedHashMap<String, Object>();
// 2026.01.22 나혁제 이전파일이 있는경우 새로 새성(새로만들기 기능생성)
if(inMap.get("oldAtchFileId")!=null && !inMap.get("oldAtchFileId").equals(""))
{
inFileMap = new LinkedHashMap<String, Object>();
inFileMap.put("atchFileId", inMap.get("oldAtchFileId"));
// 신청시 파일 정보을 추출
List<LinkedHashMap<String, Object>> oldFileList = fileManageService.selectFileInfs(inFileMap);
String strNewAtchFileId = "";
// 접수시 파일정보가 있는경우 저장
if(bReceiptFile)
{
strNewAtchFileId = (String)fileList.get(0).get("atchFileId");
}
// 접수시 파일정보가 없는경우 file ID 새롭게 부여
else
{
strNewAtchFileId = egovFileIdGnrService.getNextStringId();
}
if (oldFileList != null )
{
List<LinkedHashMap<String, Object>> oldInFileList = new ArrayList();
for(int i=0; i < oldFileList.size(); i++)
{
LinkedHashMap<String, Object> fileMap = oldFileList.get(i);
fileMap.put("atchFileId", strNewAtchFileId);
if(bReceiptFile)
{
fileMap.put("fileSn", fileManageService.getMaxFileSN(fileList.get(0)));
}
else
{
fileMap.put("fileSn", i);
}
oldInFileList.add(fileMap);
}
// 접수시 파일이 있는경우 update
if(oldFileList.size()>0)
{
if(bReceiptFile)
{
fileManageService.updateFileInfs(oldInFileList);
}
else
{
fileManageService.insertFileInfs(oldInFileList);
}
}
}
}
// 승인요청 처리

View File

@ -1,5 +1,6 @@
package com.urpsys.itmsapi.srm.service;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
@ -50,6 +51,11 @@ public class ReportIssueService
@Resource(name="egovRptIdGnrService")
private EgovIdGnrService egovRptIdGnrService;
// 2026.01.22 나혁제 추가 서비스
/** fileID 추출 */
@Resource(name = "egovFileIdGnrService")
private EgovIdGnrService egovFileIdGnrService;
// 이슈보고서 목록 조회
public List<LinkedHashMap<String, Object>> searchReport(LinkedHashMap<String, Object> inMap) throws Exception
@ -168,11 +174,74 @@ public class ReportIssueService
}
}
boolean bReceiptFile = false;
// 파일정보저장
if( fileList != null
&& fileList.size()>0)
{
fileManageService.insertFileInfs(fileList);
bReceiptFile=true;
}
LinkedHashMap<String, Object> inFileMap = new LinkedHashMap<String, Object>();
// 2026.01.22 나혁제 이전파일이 있는경우 새로 새성(새로만들기 기능생성)
if(inMap.get("oldAtchFileId")!=null && !inMap.get("oldAtchFileId").equals(""))
{
inFileMap = new LinkedHashMap<String, Object>();
inFileMap.put("atchFileId", inMap.get("oldAtchFileId"));
// 신청시 파일 정보을 추출
List<LinkedHashMap<String, Object>> oldFileList = fileManageService.selectFileInfs(inFileMap);
String strNewAtchFileId = "";
// 접수시 파일정보가 있는경우 저장
if(bReceiptFile)
{
strNewAtchFileId = (String)fileList.get(0).get("atchFileId");
}
// 접수시 파일정보가 없는경우 file ID 새롭게 부여
else
{
strNewAtchFileId = egovFileIdGnrService.getNextStringId();
}
if (oldFileList != null )
{
List<LinkedHashMap<String, Object>> oldInFileList = new ArrayList();
for(int i=0; i < oldFileList.size(); i++)
{
LinkedHashMap<String, Object> fileMap = oldFileList.get(i);
fileMap.put("atchFileId", strNewAtchFileId);
if(bReceiptFile)
{
fileMap.put("fileSn", fileManageService.getMaxFileSN(fileList.get(0)));
}
else
{
fileMap.put("fileSn", i);
}
oldInFileList.add(fileMap);
}
// 접수시 파일이 있는경우 update
if(oldFileList.size()>0)
{
if(bReceiptFile)
{
fileManageService.updateFileInfs(oldInFileList);
}
else
{
fileManageService.insertFileInfs(oldInFileList);
}
}
}
}
// 승인요청 처리

View File

@ -1,5 +1,6 @@
package com.urpsys.itmsapi.srm.service;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
@ -50,6 +51,10 @@ public class ReportOtherService
@Resource(name="egovRptIdGnrService")
private EgovIdGnrService egovRptIdGnrService;
// 2026.01.22 나혁제 추가 서비스
/** fileID 추출 */
@Resource(name = "egovFileIdGnrService")
private EgovIdGnrService egovFileIdGnrService;
// 이슈보고서 목록 조회
public List<LinkedHashMap<String, Object>> searchReport(LinkedHashMap<String, Object> inMap) throws Exception
@ -168,11 +173,74 @@ public class ReportOtherService
}
}
boolean bReceiptFile = false;
// 파일정보저장
if( fileList != null
&& fileList.size()>0)
{
fileManageService.insertFileInfs(fileList);
bReceiptFile=true;
}
LinkedHashMap<String, Object> inFileMap = new LinkedHashMap<String, Object>();
// 2026.01.22 나혁제 이전파일이 있는경우 새로 새성(새로만들기 기능생성)
if(inMap.get("oldAtchFileId")!=null && !inMap.get("oldAtchFileId").equals(""))
{
inFileMap = new LinkedHashMap<String, Object>();
inFileMap.put("atchFileId", inMap.get("oldAtchFileId"));
// 신청시 파일 정보을 추출
List<LinkedHashMap<String, Object>> oldFileList = fileManageService.selectFileInfs(inFileMap);
String strNewAtchFileId = "";
// 접수시 파일정보가 있는경우 저장
if(bReceiptFile)
{
strNewAtchFileId = (String)fileList.get(0).get("atchFileId");
}
// 접수시 파일정보가 없는경우 file ID 새롭게 부여
else
{
strNewAtchFileId = egovFileIdGnrService.getNextStringId();
}
if (oldFileList != null )
{
List<LinkedHashMap<String, Object>> oldInFileList = new ArrayList();
for(int i=0; i < oldFileList.size(); i++)
{
LinkedHashMap<String, Object> fileMap = oldFileList.get(i);
fileMap.put("atchFileId", strNewAtchFileId);
if(bReceiptFile)
{
fileMap.put("fileSn", fileManageService.getMaxFileSN(fileList.get(0)));
}
else
{
fileMap.put("fileSn", i);
}
oldInFileList.add(fileMap);
}
// 접수시 파일이 있는경우 update
if(oldFileList.size()>0)
{
if(bReceiptFile)
{
fileManageService.updateFileInfs(oldInFileList);
}
else
{
fileManageService.insertFileInfs(oldInFileList);
}
}
}
}
// 승인요청 처리