diff --git a/src/main/java/kcc/com/cmm/web/EgovFileDownloadController.java b/src/main/java/kcc/com/cmm/web/EgovFileDownloadController.java
index 42ec955a..25458dfb 100644
--- a/src/main/java/kcc/com/cmm/web/EgovFileDownloadController.java
+++ b/src/main/java/kcc/com/cmm/web/EgovFileDownloadController.java
@@ -56,9 +56,6 @@ public class EgovFileDownloadController {
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
- @Value("#{globalSettings['Globals.pdf.makepath.out']}")
- private String pdfMakepathOut; //c:/usr/local/tomcat/file/sht/out
-
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class);
/**
@@ -231,7 +228,7 @@ public class EgovFileDownloadController {
String s_path = (String) commandMap.get("path");
String s_file = (String) commandMap.get("file");
- File uFile = new File(pdfMakepathOut + "/" + s_path, s_file);
+ File uFile = new File("/usr/local/tomcat/file/sht/out/" + s_path, s_file);
String mimetype = "application/x-msdownload";
diff --git a/src/main/java/kcc/kccadr/accdnt/ars/web/AdjstReqStatusPdfController.java b/src/main/java/kcc/kccadr/accdnt/ars/web/AdjstReqStatusPdfController.java
deleted file mode 100644
index 0015b151..00000000
--- a/src/main/java/kcc/kccadr/accdnt/ars/web/AdjstReqStatusPdfController.java
+++ /dev/null
@@ -1,1039 +0,0 @@
-package kcc.kccadr.accdnt.ars.web;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.epapyrus.common.util.UriUtils;
-import com.epapyrus.pdf.pg.client.PdfGatewayAgent;
-import com.epapyrus.pdf.pg.entity.BookMark;
-import com.epapyrus.pdf.pg.entity.BookMarkPage;
-import com.epapyrus.pdf.pg.entity.Merge;
-import com.epapyrus.pdf.pg.entity.PdfConversion;
-import com.epapyrus.pdf.pg.entity.TextWatermark;
-
-import kcc.com.cmm.service.EgovFileMngService;
-import kcc.com.cmm.service.FileVO;
-import kcc.kccadr.accdnt.ai.service.AdjstIncidentService;
-import kcc.kccadr.accdnt.ai.service.AdjstIncidentVO;
-import kcc.kccadr.accdnt.ars.service.AdjstReqStatusService;
-import kcc.kccadr.adjst.service.AdjstReqService;
-import kcc.kccadr.adjst.service.AdjstReqVO;
-import kcc.let.utl.fcc.service.EgovCryptoUtil;
-
-/**
- * 대국민(사용자)
- * 신청 관한 pdf controller 클래스를 정의한다.
- * @author 김봉호
- * @since 2021.08.23
- * @version 1.0
- * @see
- *
- *
- * << 개정이력(Modification Information) >>
- *
- * 수정일 수정자 수정내용
- * ------- -------- ---------------------------
- * 2021.08.23 김봉호 최초 생성
- *
- *
- */
-@Controller
-public class AdjstReqStatusPdfController {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(AdjstReqStatusPdfController.class);
-
- @Resource(name="adjstReqStatusService")
- private AdjstReqStatusService adjstReqStatusService;
-
- @Resource(name="adjstIncidentService")
- private AdjstIncidentService adjstIncidentService;
-
- //암복호화 유틸
- @Resource(name = "egovCryptoUtil")
- EgovCryptoUtil egovCryptoUtil;
-
- //암복호화 유틸
- @Resource(name = "EgovFileMngService")
- EgovFileMngService egovFileMngService;
-
- //adr_mgr_master
- @Resource(name="AdjstReqService")
- private AdjstReqService adjstReqService;
-
-
- //pdf 변환 서버 관련 설정
- @Value("#{globalSettings['Globals.pdf.serverUrl']}")
- private String pdfServerUrl; //192.168.0.200
-
- @Value("#{globalSettings['Globals.pdf.apiUrl']}")
- private String pdfApiUrl; //http://192.168.0.34:7080
-
- @Value("#{globalSettings['Globals.pdf.filepath.out']}")
- private String pdfFilepathOut; //file:/c:/usr/local/tomcat/file/sht/out
-
- @Value("#{globalSettings['Globals.pdf.makepath']}")
- private String pdfMakepath; //c:/usr/local/tomcat/file/sht
-
- @Value("#{globalSettings['Globals.pdf.makepath.out']}")
- private String pdfMakepathOut; //c:/usr/local/tomcat/file/sht/out
-
- @Value("#{globalSettings['Globals.pdf.webpath']}")
- private String pdfWebpath; // /pdf/out/
-
-
-
- /**
- * 신청일변경 상세 Tab 신청일변경 화면 - 선택다운로드 1단계
- * 1.대상폴더 생성
- * 2.변환 요청
- * 교육신청서 요청
- * 3.결과 통보
- */
- @RequestMapping(value="/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatusDownloadStep1Ajax.do")
- public ModelAndView adjstReqStatusTabStatusDownloadStep1Ajax(
- HttpServletRequest request
- , AdjstIncidentVO adjstIncidentVO
- ) throws Exception {
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.setViewName("jsonView");
-
-
- //System.out.println("adjstReqStatusTabStatusStep1Ajax");
-
- try {
-
- //step.1.폴더 생성=======================================================================
- //String path = "D:\\Eclipse\\Java\\새폴더"; //폴더 경로
-
- String s_time_dir = request.getParameter("time_dir");
-
- //download 폴더
- {
- String path_pdf = pdfMakepathOut + adjstIncidentVO.getAdrSeq() + "/download/"+s_time_dir; //pdf 변환기가 생성하는 파일이 들어가는 폴더경로
- String path_pdf_4d = pdfMakepathOut + adjstIncidentVO.getAdrSeq() + "/download"; //pdf 변환기가 생성하는 파일이 들어가는 폴더경로
- File Folder_pdf = new File(path_pdf);
- File Folder_pdf_4d = new File(path_pdf_4d);
-
- // 해당 디렉토리가 없을경우 디렉토리를 생성합니다.
- if (!Folder_pdf.exists()) {
- try{
- this.deleteFile(path_pdf_4d, s_time_dir);
-
- }
- catch(Exception e){
- System.out.println("Exception Occured!!!");
- }
-
- try{
-
- Folder_pdf_4d.mkdir(); //폴더 생성합니다.
- Folder_pdf.mkdir(); //폴더 생성합니다.
- System.out.println("D 폴더가 생성되었습니다.");
- //System.out.println(path_pdf);
- }
- catch(Exception e){
- System.out.println("Exception Occured!!!");
- }
-
- }else {
- System.out.println("D 이미 폴더가 생성되어 있습니다.");
- this.deleteFile(path_pdf_4d, s_time_dir);
- //System.out.println(path_pdf);
- Folder_pdf.mkdir(); //폴더 생성합니다.
- }
- }
-
- //===============================================================================
-
- //bookmark file name----------------------------------
- AdjstReqVO adjstReqVO = new AdjstReqVO();
- adjstReqVO.setAdrSeq(adjstIncidentVO.getAdrSeq());
- adjstReqVO = adjstReqService.selectAdjsMgrMaster(adjstReqVO);
-
- String s_bookmark_name = adjstReqVO.getAdrNo()+".pdf";
- s_bookmark_name = "bookmark.pdf";
- String s_bookmark_name_2 = "100.pdf";
- //bookmark file name
-
-
- ////2.파일 요청했으면 생성
- //2-1파일정보 가져오기
- //2-2변환하기
- //this.conversionFromWWW(adjstIncidentVO.getAdrSeq());
-
- this.conversionFromWWW(
- adjstIncidentVO.getAdrSeq()
- , adjstIncidentVO.getAdrSeq()+"/download/"+s_time_dir+"/"
- , s_bookmark_name
- );
-
- this.conversionFromWWW(
- adjstIncidentVO.getAdrSeq()
- , adjstIncidentVO.getAdrSeq()+"/download/"+s_time_dir+"/"
- , s_bookmark_name_2
- );
-
- modelAndView.addObject("result", "SUCCESS");
- }catch(Exception ex) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step1");
- System.out.println("Exception Occured!!!");
-
- }
-
-
- return modelAndView;
- }
-
-
- /**
- * 신청일변경 상세 Tab 신청일변경 화면 - 다운로드 1단계 - 체커
- * 1.대상생성 확인 *
- * 2.단권화 진행
- * 3.3초 delay 발생
- * 4.결과 통보
- */
- @RequestMapping(value="/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatusDownloadStep1CheckerAjax.do")
- public ModelAndView adjstReqStatusTabStatusDownloadStep1CheckerAjax(
- HttpServletRequest request
- , AdjstIncidentVO adjstIncidentVO
- ) throws Exception {
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.setViewName("jsonView");
-
- System.out.println("adjstReqStatusTabStatusDownloadStep1CheckerAjax");
-
- try{
-
- //bookmark file name----------------------------------
- AdjstReqVO adjstReqVO = new AdjstReqVO();
- adjstReqVO.setAdrSeq(adjstIncidentVO.getAdrSeq());
- adjstReqVO = adjstReqService.selectAdjsMgrMaster(adjstReqVO);
-
- String s_bookmark_name = adjstReqVO.getAdrNo()+".pdf";
- s_bookmark_name = "bookmark.pdf";
- //bookmark file name
-
-
- String s_time_dir = request.getParameter("time_dir");
-
- //step.1.대상생성 확인=======================================================================
- //String path = "D:\\Eclipse\\Java\\새폴더"; //폴더 경로
- String path = pdfMakepathOut + adjstIncidentVO.getAdrSeq()+"/download/"+s_time_dir+"/"; //pdf변환 폴더 경로
- File[] files = new File(path).listFiles();
-
- //System.out.println(path);
- //System.out.println(s_bookmark_name);
-
- int i_pdf_cnt = 0;
-
- for (File f : files){
- if (f.getName().toUpperCase().indexOf(s_bookmark_name.toUpperCase())>-1) {
- i_pdf_cnt++;
- }
- }
-
- if (i_pdf_cnt!=1) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step1-check");
-
- return modelAndView;
- }
-
- //===============================================================================
-
-
- modelAndView.addObject("result", "SUCCESS");
- modelAndView.addObject("path", adjstIncidentVO.getAdrSeq()+"/download/"+s_time_dir);
- modelAndView.addObject("file", s_bookmark_name);
-
-
-
- }catch(Exception ex) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step1");
- System.out.println("Exception Occured!!!");
-
- }
-
- return modelAndView;
- }
-
- /**
- * 신청일변경 상세 Tab 신청일변경 화면 - 문서보기 1단계
- * 1.대상폴더 생성
- * 2.변환 요청
- * 교육신청서 요청
- * 첨부파일 변환 요청
- * 3.결과 통보
- */
- @RequestMapping(value="/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatusStep1Ajax.do")
- public ModelAndView adjstReqStatusTabStatusStep1Ajax(
- HttpServletRequest request
- , AdjstIncidentVO adjstIncidentVO
- ) throws Exception {
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.setViewName("jsonView");
-
-
- //System.out.println("adjstReqStatusTabStatusStep1Ajax");
-
- try {
-
- //step.1.폴더 생성=======================================================================
- //String path = "D:\\Eclipse\\Java\\새폴더"; //폴더 경로
-
- String s_time_dir = request.getParameter("time_dir");
-
- //upload 폴더
- {
- String path_upload = pdfMakepathOut + adjstIncidentVO.getAdrSeq() + "/upload"; //사용자가 업로드한 파일이 복사되는 폴더경로
- File Folder_upload = new File(path_upload);
- // 해당 디렉토리가 없을경우 디렉토리를 생성합니다.
- if (!Folder_upload.exists()) {
- try{
- Folder_upload.mkdir(); //폴더 생성합니다.
- System.out.println("U 폴더가 생성되었습니다.");
- //System.out.println(Folder_upload);
- }
- catch(Exception e){
- System.out.println("Exception Occured!!!");
- }
- }else {
- System.out.println("U 이미 폴더가 생성되어 있습니다.");
- //System.out.println(path_upload);
-
- File[] files = new File(path_upload).listFiles();
- for (File f : files){
- //System.out.println(f.getName());
- f.delete();
- //System.out.println(f.delete());
-
- }
-
- }
- }
-
-
- //pdf 폴더
- {
- String path_pdf = pdfMakepathOut + adjstIncidentVO.getAdrSeq() + "/pdf/"+s_time_dir; //pdf 변환기가 생성하는 파일이 들어가는 폴더경로
- String path_pdf_4d = pdfMakepathOut + adjstIncidentVO.getAdrSeq() + "/pdf"; //pdf 변환기가 생성하는 파일이 들어가는 폴더경로
- File Folder_pdf = new File(path_pdf);
- File Folder_pdf_4d = new File(path_pdf_4d);
-
- // 해당 디렉토리가 없을경우 디렉토리를 생성합니다.
- if (!Folder_pdf.exists()) {
- try{
- this.deleteFile(path_pdf_4d, s_time_dir);
-
- }
- catch(Exception e){
- System.out.println("Exception Occured!!!");
- }
-
- try{
- Folder_pdf_4d.mkdir(); //폴더 생성합니다.
- Folder_pdf.mkdir(); //폴더 생성합니다.
- System.out.println("P 폴더가 생성되었습니다.");
- //System.out.println(Folder_pdf);
- }
- catch(Exception e){
- System.out.println("Exception Occured!!!");
- }
- }else {
- System.out.println("P 이미 폴더가 생성되어 있습니다.");
- this.deleteFile(path_pdf_4d, s_time_dir);
- //System.out.println(Folder_pdf);
- Folder_pdf.mkdir(); //폴더 생성합니다.
- }
- }
-
- //===============================================================================
-
-
- String[] a_chk = request.getParameterValues("chk");
-
- ////2.파일 요청했으면 생성
- //2-1파일정보 가져오기
- //2-2변환하기
- //this.conversionFromWWW(adjstIncidentVO.getAdrSeq());
-
- int j=0;
-
- for (int i=0;i out/adrseq
- FileVO fileVO = new FileVO();
- fileVO.setAtchFileId(a_vals[0]);
- fileVO.setFileSn(a_vals[1]);
-
- FileVO nfile = egovFileMngService.selectFileInf(fileVO);
-
-
- //step1.copy and rename
- String s_src_file_name = nfile.streFileNm;
- String s_target_file_name = nfile.orignlFileNm;
- String s_save_file_name = s_target_file_name.substring(0, s_target_file_name.lastIndexOf("."));
-
- //System.out.println("s_src_file_name");
- //System.out.println(s_src_file_name);
- //System.out.println(s_target_file_name);
- //System.out.println(s_target_file_name.lastIndexOf("."));
- //System.out.println(s_target_file_name.substring(0, s_target_file_name.lastIndexOf(".")));
- //System.out.println("s_target_file_name");
-
- File srcFile = new File(pdfMakepath + s_src_file_name);
- File destFile = new File(pdfMakepathOut + adjstIncidentVO.getAdrSeq() + "/upload/" + s_target_file_name);
- FileUtils.copyFile(srcFile, destFile);
-
-
- j++;
-
- this.conversionFromUFile(
- adjstIncidentVO.getAdrSeq()+"/upload/" //src path
- , s_target_file_name //src file name
-
- , adjstIncidentVO.getAdrSeq()+"/pdf/"+s_time_dir+"/" //target path
- //, Integer.toString(j)+".pdf"
- , Integer.toString(j)+"_"+s_save_file_name+".pdf"
- ); //target file
- }
-
- }
-
- modelAndView.addObject("result", "SUCCESS");
- }catch(Exception ex) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step1");
- System.out.println("Exception Occured!!!");
-
- }
-
-
-
- return modelAndView;
- }
-
- /**
- * 신청일변경 상세 Tab 신청일변경 화면 - 문서보기 1단계 - 체커
- * 1.대상생성 확인 *
- * 2.단권화 진행
- * 3.3초 delay 발생
- * 4.결과 통보
- */
- @RequestMapping(value="/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatusStep1CheckerAjax.do")
- public ModelAndView adjstReqStatusTabStatusStep1CheckerAjax(
- HttpServletRequest request
- , AdjstIncidentVO adjstIncidentVO
- ) throws Exception {
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.setViewName("jsonView");
-
- System.out.println("adjstReqStatusTabStatusStep1CheckerAjax");
-
- try{
- String s_time_dir = request.getParameter("time_dir");
-
- //step.1.대상생성 확인=======================================================================
- //String path = "D:\\Eclipse\\Java\\새폴더"; //폴더 경로
- String path = pdfMakepathOut + adjstIncidentVO.getAdrSeq()+"/pdf/"+s_time_dir + "/"; //pdf변환 폴더 경로
- File[] files = new File(path).listFiles();
-
- //System.out.println(path);
-
- int i_pdf_cnt = 0;
-
- for (File f : files){
- if (f.getName().toUpperCase().indexOf(".PDF")>-1 && f.getName().toUpperCase().indexOf("PDF0CHANGE.PDF")<0) {
- i_pdf_cnt++;
- }
- }
-
- String[] a_chk = request.getParameterValues("chk");
-
-
- if (i_pdf_cnt!=a_chk.length) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step1-check");
-
- return modelAndView;
- }
-
- //===============================================================================
-
-
- modelAndView.addObject("result", "SUCCESS");
-
- }catch(Exception ex) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step1");
- System.out.println("Exception Occured!!!");
-
- }
-
- return modelAndView;
- }
-
- /**
- * 신청일변경 상세 Tab 신청일변경 화면 - 문서보기 2단계
- * 1.대상생성 확인 *
- * 2.단권화 진행
- * 3.3초 delay 발생
- * 4.결과 통보
- */
- @RequestMapping(value="/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatusStep2Ajax.do")
- public ModelAndView adjstReqStatusTabStatusStep2Ajax(
- HttpServletRequest request
- , AdjstIncidentVO adjstIncidentVO
- ) throws Exception {
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.setViewName("jsonView");
-
- System.out.println("adjstReqStatusTabStatusStep2Ajax");
-
- try {
-
- List l_file_nm = new ArrayList();
-
- String s_time_dir = request.getParameter("time_dir");
-
- //step.1.대상생성 확인=======================================================================
- //String path = "D:\\Eclipse\\Java\\새폴더"; //폴더 경로
- String path = pdfMakepathOut + adjstIncidentVO.getAdrSeq()+"/pdf/"+s_time_dir+"/"; //pdf 폴더 경로
- File[] files = new File(path).listFiles();
-
- int i_pdf_cnt = 0;
- for (File f : files){
- if (f.getName().toUpperCase().indexOf(".PDF")>-1 && f.getName().toUpperCase().indexOf("PDF0CHANGE.PDF")<0) {
- i_pdf_cnt++;
- //String s_save_file_name = f.getName().substring(0, f.getName().lastIndexOf("."));
- l_file_nm.add(f.getName().substring(0, f.getName().lastIndexOf(".")));
- }
- }
-
- String[] a_chk = request.getParameterValues("chk");
-
-
-
- if (i_pdf_cnt!=a_chk.length) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step2");
-
- return modelAndView;
- }
-
- //===============================================================================
-
- //3.단권화 진행
- if (i_pdf_cnt>1) {
- this.mergeFromUFileNew(
- i_pdf_cnt
- , l_file_nm
- , adjstIncidentVO.getAdrSeq()+"/pdf/"+s_time_dir+"/"
- , "PDF0CHANGE.pdf"
- );
-
- }else { //1권이면 merge 가 아니고 바로 만들기를 한다.
- this.conversionFromUFile(
- adjstIncidentVO.getAdrSeq()+"/pdf/"+s_time_dir+"/" //src path
- , "1_교육신청서.pdf" //src file name
-
- , adjstIncidentVO.getAdrSeq()+"/pdf/"+s_time_dir+"/" //target path
- , "PDF0CHANGE.pdf");
- }
-
-
-
- modelAndView.addObject("result", "SUCCESS");
-
- }catch(Exception ex) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "단권화요청에 실패했습니다.-step2");
- System.out.println("Exception Occured!!!");
- }
-
- return modelAndView;
- }
-
-
- /**
- * 신청일변경 상세 Tab 신청일변경 화면 - 문서보기 2단계 - 체커
- * 1.대상생성 확인
- * 2.페이지 측정
- * 3.북마크 진행
- * 4.3초 delay 발생
- * 5.결과 통보
- */
- @RequestMapping(value="/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatusStep2CheckerAjax.do")
- public ModelAndView adjstReqStatusTabStatusStep2CheckerAjax(
- HttpServletRequest request
- , AdjstIncidentVO adjstIncidentVO
- ) throws Exception {
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.setViewName("jsonView");
-
- System.out.println("adjstReqStatusTabStatusStep2CheckerAjax");
-
- try {
- String s_time_dir = request.getParameter("time_dir");
-
- //step.1.대상생성 확인=======================================================================
- //String path = "D:\\Eclipse\\Java\\새폴더"; //폴더 경로
- String path = pdfMakepathOut + adjstIncidentVO.getAdrSeq()+"/pdf/"+s_time_dir+"/"; //pdf 폴더 경로
- File[] files = new File(path).listFiles();
-
- int i_0_pdf_cnt = 0;
-
- for (File f : files){
- if (f.getName().toUpperCase().indexOf("PDF0CHANGE.PDF")>-1) {
- i_0_pdf_cnt++;
- }
-
- }
-
-
- if (i_0_pdf_cnt<=0) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step2-check");
-
- return modelAndView;
- }
-
- //===============================================================================
-
-
- modelAndView.addObject("result", "SUCCESS");
-
- }catch(Exception ex) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step1");
- System.out.println("Exception Occured!!!");
-
- }
-
- return modelAndView;
- }
-
- /**
- * 신청일변경 상세 Tab 신청일변경 화면 - 문서보기 3단계
- * 1.대상생성 확인
- * 2.페이지 측정
- * 3.북마크 진행
- * 4.3초 delay 발생
- * 5.결과 통보
- */
- @RequestMapping(value="/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatusStep3Ajax.do")
- public ModelAndView adjstReqStatusTabStatusStep3Ajax(
- HttpServletRequest request
- , AdjstIncidentVO adjstIncidentVO
- ) throws Exception {
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.setViewName("jsonView");
-
- System.out.println("adjstReqStatusTabStatusStep3Ajax");
-
- try{
-
- //bookmark file name----------------------------------
- AdjstReqVO adjstReqVO = new AdjstReqVO();
- adjstReqVO.setAdrSeq(adjstIncidentVO.getAdrSeq());
- adjstReqVO = adjstReqService.selectAdjsMgrMaster(adjstReqVO);
-
- String s_bookmark_name = adjstReqVO.getAdrNo()+".pdf";
- s_bookmark_name = "bookmark.pdf";
- //bookmark file name
-
-
- List l_file_nm = new ArrayList();
-
- String s_time_dir = request.getParameter("time_dir");
-
- //step.1.pdf 북마크 대상 파일 수 확인=======================================================================
- //String path = "D:\\Eclipse\\Java\\새폴더"; //폴더 경로
- String path = pdfMakepathOut + adjstIncidentVO.getAdrSeq()+"/pdf/"+s_time_dir+"/"; //pdf 폴더 경로
- File[] files = new File(path).listFiles();
-
-
- int i_pdf_cnt = 0;
- //int i_0_pdf_cnt = 0;
-
- for (File f : files){
- if (f.getName().toUpperCase().indexOf(".PDF")>-1 && f.getName().toUpperCase().indexOf("PDF0CHANGE.PDF")<0) {
- i_pdf_cnt++;
- l_file_nm.add(f.getName().substring(0, f.getName().lastIndexOf(".")));
- //a
- }
- }
-
-
- //===============================================================================
-
- //4.북마크 - 페이지 수, 인텍스명 찾기
- String[] a_bookPage = new String[i_pdf_cnt];//페이지수 찾기
- String[] a_title = new String[i_pdf_cnt];//index 제목 찾기
-
- for (int i=0;i-1) {
- PDDocument doc = PDDocument.load(new File(f.getAbsolutePath()));
- int count = doc.getNumberOfPages();
- //String s_number = f.getName().substring(0, f.getName().length()-4);
- a_bookPage[i] = Integer.toString(count);
- a_title[i] = l_file_nm.get(i).replaceAll(Integer.toString(i+1)+"_", "");
- //System.out.println("a_title[i]");
- //System.out.println(a_title[i]);
- //System.out.println(a_title[i].length());
- }
- }
- }
-
- /*
- for (File f : files){
- if (f.getName().toUpperCase().indexOf(".PDF")>-1 && f.getName().toUpperCase().indexOf("PDF0CHANGE.PDF")<0) {
- //ㅁ
- for (int j=0;j-1) {
- i_0_pdf_cnt++;
- }
- }
-
-
- if (i_0_pdf_cnt<=0) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step3-check");
-
- return modelAndView;
- }
-
- //===============================================================================
-
-
- modelAndView.addObject("result", "SUCCESS");
- modelAndView.addObject("webFile", adjstIncidentVO.getAdrSeq());
-
- }catch(Exception ex) {
- modelAndView.addObject("result", "FAIL");
- modelAndView.addObject("message", "생성요청이 실패했습니다.-step1");
- System.out.println("Exception Occured!!!");
-
- }
-
-
- return modelAndView;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- //
- //
- // private function
- //
-
- private void conversionFromWWW(
- String p_param1
- , String p_save_path //pdf save path
- , String p_save_file_name //pdf save file name
- ) throws Exception{
-
- //pdf 변환 서버 관련 설정
- /*
- @Value("#{globalSettings['Globals.pdf.serverUrl']}")
- private String pdfServerUrl; //192.168.0.200
-
- @Value("#{globalSettings['Globals.pdf.apiUrl']}")
- private String pdfApiUrl; //http://192.168.0.34:7080
-
- @Value("#{globalSettings['Globals.pdf.filepath.out']}")
- private String pdfFilepathOut; //file:/c:/usr/local/tomcat/file/sht/out
- */
- System.out.println(pdfFilepathOut + p_save_path + p_save_file_name);
- String s_output = UriUtils.encodeUri(pdfFilepathOut + p_save_path + p_save_file_name);
- PdfConversion conversion = PdfConversion.create();
- conversion.input(UriUtils.encodeUri(pdfApiUrl + "/popup/main/adjstIncidentDetailPdf.do?adrSeq="+p_param1)).htmlUrlResource(true);
-
- PdfGatewayAgent.of(pdfServerUrl, 8888)
- .conversion(conversion)
- .name("convertions-addr-html")
- .distribute(s_output)
- .start();
-
- }
-
- //파일 pdf 로 변환
- //확장자 적용하여 이름변경 필요함
- private void conversionFromUFile(
-
- String p_src_path
- , String p_src_file
-
- , String p_target_path
- , String p_target_file
-
- ) throws Exception{
-
- String s_in = UriUtils.encodeUri(pdfFilepathOut + p_src_path + p_src_file);
- String s_output = UriUtils.encodeUri(pdfFilepathOut + p_target_path + p_target_file);
-
- System.out.println(pdfFilepathOut + p_src_path + p_src_file);
- System.out.println(pdfFilepathOut + p_target_path + p_target_file);
-
- //PdfConversion conversion = PdfConversion.create();
- //conversion.input(UriUtils.encodeUri(pdfApiUrl + "/popup/main/adjstIncidentDetailPdf.do?adrSeq="+p_param1)).htmlUrlResource(true);
- //
-
-
- PdfGatewayAgent.of(pdfServerUrl, 8888)
- //.conversion(conversion)
- .conversion(s_in)
- .name("convertions-addr-html")
- .distribute(s_output)
- .start();
-
- }
-
-
- private void mergeFromUFileNew(
- //File[] p_files
- int p_file_cnt
- , List p_l_file_nm
- , String p_path
- , String p_merge_file_name
- ) throws Exception{
-
- String s_output = UriUtils.encodeUri(pdfFilepathOut + p_path + p_merge_file_name);
-
- Merge merge = Merge.create();
- //.input(s_in_1)
- //.mergeResource(s_in_2, "all")
- //;
-
- for (int i=0;i pages = new ArrayList();
- BookMarkPage indexPage = BookMarkPage.create("INDEX", 0);
-
- int i_bookmark_count = 0;
-
- for (int i=0;i mberManageCnfVO = mberManageService.selectMberCnf(mberConfigVO);
- for (int i = 0; i < mberManageCnfVO.size(); i++) {
- if (mberManageCnfVO.get(i).getIsSns().equals("Y")) {
- if (mberManageCnfVO.get(i).getUseYn().equals("Y")) {
- if (mberManageCnfVO.get(i).getConfigId().equals("snsNaver")) {
- String redirectURI = URLEncoder.encode(itnNaverReturnUrl, "UTF-8");
- SecureRandom random = new SecureRandom();
- BigInteger state = new BigInteger(130, random);
- String naver_url = "https://nid.naver.com/oauth2.0/authorize?response_type=code";
- naver_url += "&client_id=" + itnNaverClientId;
- naver_url += "&redirect_url=" + redirectURI;
- naver_url += "&state=" + state;
- mberManageCnfVO.get(i).setSiteUrl(naver_url);
- mberManageCnfVO.get(i).setSiteIcon("/img/login_naver_icon.png");
-
- } else if (mberManageCnfVO.get(i).getConfigId().equals("snsKakao")) {
-
- String kakao_url = "https://kauth.kakao.com/oauth/authorize?response_type=code";
- kakao_url += "&client_id=" + kakaoRestApiKey;
- kakao_url += "&redirect_uri=" + kakaoReturnUrl;
- mberManageCnfVO.get(i).setSiteUrl(kakao_url);
- mberManageCnfVO.get(i).setSiteIcon("/img/login_kakao_icon.png");
-
- } else if (mberManageCnfVO.get(i).getConfigId().equals("snsGoogle")) {
-
- }
- }
- }
- }
model.addAttribute("mberManageCnfVO", mberManageCnfVO);
model.addAttribute("beforeUrl", beforeUrl);
model.addAttribute("message", message);
@@ -385,19 +320,6 @@ public class EgovLoginController {
String message = (String) commandMap.get("message");
String test = (String) commandMap.get("test");
- // 실서버 적용시 바꾸기
- String returnSiteUrl = returnSiteUrlGlobal;
- String returnSiteCode = returnSiteCodeGlobal;
- String idFindUrl = idFindUrl_Global;
- String pwFindUrl = pwFindUrl_Global;
- String joinUrl = joinUrl_Global;
-
- model.addAttribute("returnSiteUrl", (URLEncoder.encode(returnSiteUrl)));
- model.addAttribute("returnSiteCode", returnSiteCode);
- model.addAttribute("idFindUrl", idFindUrl);
- model.addAttribute("pwFindUrl", pwFindUrl);
- model.addAttribute("joinUrl", joinUrl);
-
model.addAttribute("beforeUrl", beforeUrl);
model.addAttribute("message", message);
model.addAttribute("environment", environment);
@@ -438,12 +360,6 @@ public class EgovLoginController {
String message = (String) commandMap.get("message");
// 실서버 적용시 바꾸기
- String returnSiteUrl = returnSiteUrlGlobal;
- String returnSiteCode = returnSiteCodeGlobal;
-
- model.addAttribute("returnSiteUrl", (URLEncoder.encode(returnSiteUrl)));
- model.addAttribute("returnSiteCode", returnSiteCode);
-
model.addAttribute("beforeUrl", beforeUrl);
model.addAttribute("message", message);
// initRsa(request);
@@ -465,11 +381,6 @@ public class EgovLoginController {
SsoLoginVO ssoLoginVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
- // 실서버 적용시 바꾸기
- /*String returnSiteUrl = "http://219.240.88.15:8091/web/user/login/ssoUsrModifyResult.do";*/
- String returnSiteUrl = returnSiteUrlGlobal;
-
- ssoLoginVO.setReturnSiteUrl(URLEncoder.encode(returnSiteUrl));
model.addAttribute("ssoLoginVO", ssoLoginVO);
@@ -989,802 +900,6 @@ public class EgovLoginController {
return "redirect:/web/user/login/login.do";
}
}
-
- /**
- * (사용자) 일반(스프링 시큐리티) 로그인을 처리한다(SSO ID/PW를 통한 로그인 처리)
- *
- * @param vo - 아이디, 비밀번호가 담긴 LoginVO
- * @param request - 세션처리를 위한 HttpServletRequest
- * @return result - 로그인결과(세션정보)
- * @exception Exception
- */
- @RequestMapping(value = "/web/user/login/actionSecurityLogin_back.do")
- public String selectActionSecurityLoginWeb_back(@ModelAttribute("loginVO") LoginVO loginVO, HttpServletResponse response, HttpServletRequest request, ModelMap model, HttpSession session,
- RedirectAttributes redirectAttributes) throws Exception {
-
- // 로그인 정보 check
- if (loginVO.getId() == null || loginVO.getPassword() == null) {
- SsoLoginVO SsoLoginSessionChk = (SsoLoginVO) session.getAttribute("SSOLoginVO");
- // SSOLoginVO 세션 체크
- if (SsoLoginSessionChk != null) {
-
- loginVO.setId(SsoLoginSessionChk.getMembId());
- loginVO.setPassword("1");
- } else {
- model.addAttribute("message", "로그인을 다시 해주세요.");
- // 로그인 페이지로 이동
- /*return "/web/kccadr/login/SsoLoginUsr";*/
- return "redirect:/web/user/login/ssoLogin.do";
- }
- }
-
- SsoLoginVO ssologinVO = new SsoLoginVO();
-
- /*231031.개발서버 selectbox 로그인용 임시
- isDev 삭제 처리*/
- if ((ProfileUtil.isLocal() || ProfileUtil.isTLocal() || ProfileUtil.isDev()) && "Y".equals(loginVO.getIsSelect())) { //비 sso login
-
- loginVO.setPassword("1");
- loginVO.setStatusAll("N");
- ssologinVO.setMembSeq(loginVO.getId()); //중요
- //loginVO = loginService.actionLogin(loginVO);
-
- //기존에 개발자 로그인은 selectbox와 mber_seq로 로그인 처리.
- //e배움터 연동 후 mber_seq는 key로 사용하기 때문에 mber_id로 로그인 처리 과정
- //loginVO = loginService.actionLoginDev(loginVO); //개발자 아이디 선택 로그인시
- loginVO = loginService.actionLoginMberId(loginVO);
-
-
- //ssologinVO.setMembSeq(loginVO.getId()); //중요
-
- //loginVO = loginService.actionLoginDev(loginVO); //개발자 아이디 선택 로그인시
-
- //ssologinVO.setMembSeq(loginVO.getId()); //중요
-
- ssologinVO.setMembId(loginVO.getEmail());
-
- // ================== 이름 암호화로 나오는 문제 해결 ====================
- ssologinVO.setMembName(egovCryptoUtil.decrypt(loginVO.getName()));
-
- System.out.println("==================임시==================");
- // ==== 계속 암호화에 암호화가 되서 임시로 넣음
- ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
- ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
- ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
- ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
- ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
-
-
- ssologinVO.setSexCode("M");
- ssologinVO.setMembEmail(loginVO.getEmail());
- ssologinVO.setMembCelnum(loginVO.getMembCelnum());
- ssologinVO.setMembBirth(loginVO.getMembBirth());
-
- /*
- * ssologinVO.setMembSmsRecpYn(loginVO.getMembSmsRecpYn());
- * ssologinVO.setMembEmailRecpYn(loginVO.getMembEmailRecpYn());
- *
- * ssologinVO.setDispsettMembDivisCode(loginVO.getDispsettMembDivisCode());
- * ssologinVO.setCorpnum(loginVO.getCorpnum());
- * ssologinVO.setBuisnRegnum(loginVO.getBuisnRegnum());
- * ssologinVO.setCompTitle(loginVO.getCompTitle());
- */
-
- session.setAttribute("SSOLoginVO", ssologinVO);
-
- } else { //sso login
-
- ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
-
- String SsoLoginResult = "";
-/* if (ssologinVO == null) {
- SSO로그인 및 SSOLoginVO 세선 생성
- SsoLogin ssoLogin = new SsoLogin();
- SsoLoginResult = ssoLogin.SsoLogin(loginVO.getId(), loginVO.getPassword(), request);
- }
- if ("fail".equals(SsoLoginResult)) {
- redirectAttributes.addAttribute("message", "아이디 비밀번호를 확인해 주세요.");
- redirectAttributes.addFlashAttribute("message", "아이디 비밀번호를 확인해 주세요.");
- return "redirect:/web/user/login/ssoLogin.do";
- }*/
- }
-
-// ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
-
- /*if ("".equals(ssologinVO.getDispsettMembDivisCode())) {
- 신청 관련코드 받아오면 처리
- System.out.println("조정분류코드 없음");
-
- }*/
-
- // 기존에 있던 회원이 아니면 DB에 일련번호 저장
- /* UserManageVO userManageVO = new UserManageVO();
- userManageVO.setMberSeq(ssologinVO.getMembSeq());
- userManageVO = userManageService.selectKccadrUser(userManageVO);
- if (null == userManageVO) {
- UserManageVO tmpUserManageVO = new UserManageVO();
- tmpUserManageVO.setMberSeq(ssologinVO.getMembSeq());
- tmpUserManageVO.setAuthorCode("ROLE_USER_MEMBER");
- tmpUserManageVO.setEmplyrNm(ssologinVO.getMembName());
- tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO);
- String result = userManageService.insertUser(tmpUserManageVO);
-
- userManageVO = userManageService.selectKccadrUser(tmpUserManageVO);
- }else { //기존에 있던 회원이라면 이름 최신화
- UserManageVO tmpUserManageVO = new UserManageVO();
- tmpUserManageVO.setMberSeq(ssologinVO.getMembSeq());
- tmpUserManageVO.setEmplyrNm(ssologinVO.getMembName());
-
- tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO);
- userManageService.updateUserNm(tmpUserManageVO);
- }*/
-
- /*loginVO.setId(userManageVO.getEmplyrId());
- loginVO.setPassword(userManageVO.getPassword());
-*/
- /*
- * ssoLoginVO에서 아이디와, 일련번호, 부가가입여부 체크해서 DB에 일치하는 정보가 있는지 체크하고 일치하면 통과, 없으면
- * ssoLoginVO에서 일련번호, 부가가입여부를 포함한 사용자 정보 DB에 insert
- */
-
- loginVO.setUserSe("GNR");
- // 로그인 정보 check
-
- /*
- * if(loginVO.getId() == null || loginVO.getPassword() == null){ // 회원가입 시 로그인
- * 처리 LoginVO pLoginVO = (LoginVO)request.getAttribute("pLoginVO"); if (pLoginVO
- * == null) { // RSA 키 생성 initRsa(request); return
- * "redirect:/web/user/login/login.do"; } else {
- * loginVO.setId(pLoginVO.getId()); loginVO.setPassword(pLoginVO.getPassword());
- * loginVO.setBeforeUrl(pLoginVO.getBeforeUrl());
- * loginVO.setMessage(pLoginVO.getMessage()); } }
- */
-
- // 관리자 유무 체크
- List authorities = (List) loginService.selectAuthorities(loginVO);
- Boolean adminFlag = false;
- for (EgovMap authority : authorities) {
- // admin_auth_code 최하위 관리자 Roll 코드
- if (authority.get("authorCode").equals(propertiesService.getString("admin_auth_code")))
- adminFlag = true;
- }
-
- // 관리자 시 로그인 막기
- if (adminFlag) {
- model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
- // RSA 키 생성
-// initRsa(request);
- return "web/site/login/EgovLoginGnrlUsr";
- }
-
- // 1. 일반 로그인 처리
- LoginVO resultVO;
- // 복호화
-
- loginVO.setStatusAll("Y"); // 신청대기중인 사용자까지 조회
- /* loginVO.setUserSe("GNR"); */
- resultVO = loginService.actionLogin(loginVO);
- // 로그인 시 권한조회
- resultVO.setAuthority(loginService.getUserAuth(resultVO).getAuthority());
-
- System.out.println("==1==");
-
- String alertMessage = "";
- if (!"admin".equals(loginVO.getId())) {
- if (null == resultVO.getId()) { // 로그인 실패
- /* loginService.updatePassMissPlus(loginVO); */
- alertMessage = egovMessageSource.getMessage("fail.common.login");
- // 로그인 실패이면 메인페이지로 이동
- return goUserLoginPage(redirectAttributes, request, model, alertMessage);
- } /*
- * else{ if(resultVO.getPassMiss() > 5) { alertMessage =
- * "패스워드가 5회 이상 틀려 로그인 할수 없습니다. 관리자에게 문의하시기 바랍니다."; return
- * goUserLoginPage(redirectAttributes, request, model, alertMessage); }else
- * if("A".equals(resultVO.getEmplyrSttusCode())){ //신청상태 alertMessage =
- * "신청하신 아이디가 현제 승인대기 상태입니다."; return goUserLoginPage(redirectAttributes,
- * request, model, alertMessage); }else
- * if("B".equals(resultVO.getEmplyrSttusCode())){ //신청상태 alertMessage =
- * "아이디가 차단상태가 되어 사용할수 없습니다."; return goUserLoginPage(redirectAttributes,
- * request, model, alertMessage); } loginService.updatePassMissReset(loginVO); }
- */
- }
-
- boolean loginPolicyYn = true;
- System.out.println("==12==");
- // 접속IP
- String userIp = EgovClntInfo.getClntIP(request);
-
- // resultVO.siteId 의 각 로그인 ip를 조회함
- if (resultVO != null && resultVO.getId() != null && !resultVO.getId().equals("") && loginPolicyYn) {
- // 세션에다 ip 등록
- resultVO.setIp(userIp);
- System.out.println("==13==");
- // LoginVO세션에 사용자 정보 넣기
- resultVO.setMembSeq(ssologinVO.getMembSeq());
- resultVO.setMembId(ssologinVO.getMembId());
- resultVO.setMembName(ssologinVO.getMembName());
- resultVO.setMembSeq(ssologinVO.getMembSeq());
- resultVO.setMembCi(ssologinVO.getMembCi());
- resultVO.setMembEmail(ssologinVO.getMembEmail());
- resultVO.setMembCelnum(ssologinVO.getMembCelnum());
- resultVO.setMembBirth(ssologinVO.getMembBirth());
- resultVO.setMembSmsRecpYn(ssologinVO.getMembSmsRecpYn());
- resultVO.setMembEmailRecpYn(ssologinVO.getMembEmailRecpYn());
- resultVO.setSexCode(ssologinVO.getSexCode());
- resultVO.setDispsettMembDivisCode(ssologinVO.getDispsettMembDivisCode());
- resultVO.setCorpnum(ssologinVO.getCorpnum());
- resultVO.setBuisnRegnum(ssologinVO.getBuisnRegnum());
- resultVO.setCompTitle(ssologinVO.getCompTitle());
-
- // 2. spring security 연동
- request.getSession().setAttribute("LoginVO", resultVO); // LoginVO세션 생성
- System.out.println("@@@@로그인VO:"+resultVO+"@@@@@@");
- UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter();
- ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
- Map beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class);
- if (beans.size() > 0) {
- springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0];
- springSecurity.setUsernameParameter("egov_security_username");
- springSecurity.setPasswordParameter("egov_security_password");
- springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(request.getServletContext().getContextPath() + "/egov_security_login", "POST"));
-
- } else {
- throw new IllegalStateException("No AuthenticationProcessingFilter");
- }
- System.out.println("==14=1=");
-
- springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null);
-
- try{
- System.out.println("==14=1=");
- System.out.println("EgovUserDetailsHelper.isAuthenticated()");
- System.out.println(EgovUserDetailsHelper.isAuthenticated());
- }catch(Exception ex){
- ex.printStackTrace();
- }
-
- { // 관리자 로그인 log 저장
- String uniqId = "";
- String ip = "";
-
- /* Authenticated */
- LoginLog loginLog = new LoginLog();
- Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
- if (isAuthenticated.booleanValue()) {
- LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
- uniqId = user.getUniqId();
- ip = EgovClntInfo.getClntIP(request);
-
- HttpSession httpSession = request.getSession(true);
- {
- List siteManageList = new ArrayList();
- SiteManagerVO siteManagerVO = new SiteManagerVO();
- siteManagerVO.setFirstIndex(0);
- siteManagerVO.setRecordCountPerPage(100);
- siteManageList = egovSiteManagerService.selectSiteManagerList(siteManagerVO);
- httpSession.setAttribute("siteManageList", siteManageList);
- httpSession.setAttribute("loginId", user.getId()); // 자동완성 공통으로 쓰기위해
- httpSession.setAttribute("esntlId", user.getPassword());
- }
- }
-
- loginLog.setLoginId(uniqId);
- loginLog.setLoginIp(ip);
- loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O
- loginLog.setErrOccrrAt("N");
- loginLog.setErrorCode("");
- // 로그인은 관리자, PC만 됨
- loginLog.setUserAt("U"); // 사용자
- loginLog.setDeviceType("P"); // PC
- loginLog.setProgrmFileNm("adminLogin");
- loginLog.setMenuNm("관리자로그인");
- loginLogService.logInsertLoginLog(loginLog);
- System.out.println("==15=0=");
- }
-
-// session.setAttribute("beforeSiteUrl", request.getRequestURI());
- System.out.println("session.getAttributesession.getAttributesession.getAttributesession.getAttribute");
- loginVO.setBeforeUrl((String) request.getSession().getAttribute("beforeSiteUrl"));
- // 로그인 전 URL 호출 시
- if (loginVO.getBeforeUrl() != null && !("").equals(loginVO.getBeforeUrl())) {
- request.getSession().setAttribute("usrBeforeUrl", loginVO.getBeforeUrl());
- // 회원가입 시 메세지 처리
- if (loginVO.getMessage() != null && !("").equals(loginVO.getMessage())) {
- request.getSession().setAttribute("registMessage", loginVO.getMessage());
- }
- }
- System.out.println("==16=0=");
- // 개인키 삭제
- // 성공시 웹페이지 분기로 인해 session에 페이지 타입을 넣어준다.
- request.getSession().setAttribute("pageType", "web");
- return "blank"; // 성공 시 페이지.. (redirect 불가)
- } else {
- String message = egovMessageSource.getMessage("fail.common.login");
- redirectAttributes.addAttribute("beforeUrl", loginVO.getBeforeUrl());
- redirectAttributes.addAttribute("message", message);
- return "redirect:/web/user/login/login.do";
- }
- }
-
- /**
- * (사용자) 일반(스프링 시큐리티) 로그인을 처리한다(SSO Token를 통한 로그인 처리) 통합회원 SSO 로그인 후 찾교시스템 배너
- * 클릭으로 로그인
- *
- * @param vo - 아이디, 비밀번호가 담긴 LoginVO
- * @param request - 세션처리를 위한 HttpServletRequest
- * @return result - 로그인결과(세션정보)
- * @exception Exception
- */
- /* @RequestMapping(value = "/web/user/login/actionSecurityLoginToken.do") */
- @RequestMapping(value = "/kccadr/ssoLogin.do")
- public String selectActionSecurityLoginTokenWeb(@ModelAttribute("loginVO") LoginVO loginVO, HttpServletResponse response, HttpServletRequest request, ModelMap model, HttpSession session,
- RedirectAttributes redirectAttributes) throws Exception {
-
- ScriptEngineManager engine = new ScriptEngineManager();
-
- SsoLoginVO ssologinVO = new SsoLoginVO();
- ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
- String SsoLoginResult = "";
- if(
- request.getParameter("accessToken") == null
- || request.getParameter("refreshToken") == null) {
- System.out.println("토큰값 없음.");
- return "redirect:/";
- }
-
- if (ssologinVO == null) {
- /* SSO로그인 및 SSOLoginVO 세선 생성 */
- SsoLoginVO tmpssologinVO = new SsoLoginVO();
-
- tmpssologinVO.setAccess_token(request.getParameter("accessToken"));
- tmpssologinVO.setRefresh_token(request.getParameter("refreshToken"));
-
- SsoLoginResult = SsoTokenLogin.SsoTokenLogin(tmpssologinVO.getAccess_token(), tmpssologinVO.getRefresh_token(), request);
- }
- if ("fail".equals(SsoLoginResult)) {
- model.addAttribute("message", "아이디, 비밀번호를 확인해 주세요.");
- return "redirect:/web/user/login/ssoLogin.do";
- }
-
- ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
-
- if ("".equals(ssologinVO.getDispsettMembDivisCode())) {
- /* 신청 관련코드 받아오면 처리 */
- }
-
- // 기존에 있던 회원이 아니면 DB에 일련번호 저장
- UserManageVO userManageVO = new UserManageVO();
- userManageVO.setMberSeq(ssologinVO.getMembSeq());
- userManageVO = userManageService.selectKccadrUser(userManageVO);
- if (null == userManageVO) {
- UserManageVO tmpUserManageVO = new UserManageVO();
- tmpUserManageVO.setMberSeq(ssologinVO.getMembSeq());
- tmpUserManageVO.setAuthorCode("ROLE_USER_MEMBER");
- tmpUserManageVO.setEmplyrNm(ssologinVO.getMembName());
- tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO);
- String result = userManageService.insertUser(tmpUserManageVO);
-
- userManageVO = userManageService.selectKccadrUser(tmpUserManageVO);
- }else { //기존에 있던 회원이라면 이름 최신화
- UserManageVO tmpUserManageVO = new UserManageVO();
- tmpUserManageVO.setMberSeq(ssologinVO.getMembSeq());
- tmpUserManageVO.setEmplyrNm(ssologinVO.getMembName());
- tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO);
- userManageService.updateUserNm(tmpUserManageVO);
- }
-
- loginVO.setId(userManageVO.getEmplyrId());
- loginVO.setPassword(userManageVO.getPassword());
-
- /*
- * ssoLoginVO에서 아이디와, 일련번호, 부가가입여부 체크해서 DB에 일치하는 정보가 있는지 체크하고 일치하면 통과, 없으면
- * ssoLoginVO에서 일련번호, 부가가입여부를 포함한 사용자 정보 DB에 insert
- */
-
- loginVO.setUserSe("GNR");
- // 로그인 정보 check
-
- /*
- * if(loginVO.getId() == null || loginVO.getPassword() == null){ // 회원가입 시 로그인
- * 처리 LoginVO pLoginVO = (LoginVO)request.getAttribute("pLoginVO"); if (pLoginVO
- * == null) { // RSA 키 생성 initRsa(request); return
- * "redirect:/web/user/login/login.do"; } else {
- * loginVO.setId(pLoginVO.getId()); loginVO.setPassword(pLoginVO.getPassword());
- * loginVO.setBeforeUrl(pLoginVO.getBeforeUrl());
- * loginVO.setMessage(pLoginVO.getMessage()); } }
- */
-
- // 관리자 유무 체크
- List authorities = (List) loginService.selectAuthorities(loginVO);
- Boolean adminFlag = false;
- for (EgovMap authority : authorities) {
- // admin_auth_code 최하위 관리자 Roll 코드
- if (authority.get("authorCode").equals(propertiesService.getString("admin_auth_code")))
- adminFlag = true;
- }
-
- // 관리자 시 로그인 막기
- if (adminFlag) {
- model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
- // RSA 키 생성
-// initRsa(request);
- return "web/site/login/EgovLoginGnrlUsr";
- }
-
- // 1. 일반 로그인 처리
- LoginVO resultVO;
- loginVO.setStatusAll("Y"); // 신청대기중인 사용자까지 조회
- resultVO = loginService.actionLogin(loginVO);
- // 로그인 시 권한조회
- resultVO.setAuthority(loginService.getUserAuth(resultVO).getAuthority());
-
- String alertMessage = "";
- if (!"admin".equals(loginVO.getId())) {
- if (null == resultVO.getId()) { // 로그인 실패
- /* loginService.updatePassMissPlus(loginVO); */
- alertMessage = egovMessageSource.getMessage("fail.common.login");
- // 로그인 실패이면 메인페이지로 이동
- return goUserLoginPage(redirectAttributes, request, model, alertMessage);
- } /*
- * else{ if(resultVO.getPassMiss() > 5) { alertMessage =
- * "패스워드가 5회 이상 틀려 로그인 할수 없습니다. 관리자에게 문의하시기 바랍니다."; return
- * goUserLoginPage(redirectAttributes, request, model, alertMessage); }else
- * if("A".equals(resultVO.getEmplyrSttusCode())){ //신청상태 alertMessage =
- * "신청하신 아이디가 현제 승인대기 상태입니다."; return goUserLoginPage(redirectAttributes,
- * request, model, alertMessage); }else
- * if("B".equals(resultVO.getEmplyrSttusCode())){ //신청상태 alertMessage =
- * "아이디가 차단상태가 되어 사용할수 없습니다."; return goUserLoginPage(redirectAttributes,
- * request, model, alertMessage); } loginService.updatePassMissReset(loginVO); }
- */
- }
-
- boolean loginPolicyYn = true;
-
- // 접속IP
- String userIp = EgovClntInfo.getClntIP(request);
-
- // resultVO.siteId 의 각 로그인 ip를 조회함
- if (resultVO != null && resultVO.getId() != null && !resultVO.getId().equals("") && loginPolicyYn) {
- // 세션에다 ip 등록
- resultVO.setIp(userIp);
-
- // LoginVO세션에 사용자 정보 넣기
- resultVO.setMembSeq(ssologinVO.getMembSeq());
- resultVO.setMembId(ssologinVO.getMembId());
- resultVO.setMembName(ssologinVO.getMembName());
- resultVO.setMembSeq(ssologinVO.getMembSeq());
- resultVO.setMembCi(ssologinVO.getMembCi());
- resultVO.setMembEmail(ssologinVO.getMembEmail());
- resultVO.setMembCelnum(ssologinVO.getMembCelnum());
- resultVO.setMembBirth(ssologinVO.getMembBirth());
- resultVO.setMembSmsRecpYn(ssologinVO.getMembSmsRecpYn());
- resultVO.setMembEmailRecpYn(ssologinVO.getMembEmailRecpYn());
- resultVO.setSexCode(ssologinVO.getSexCode());
- resultVO.setDispsettMembDivisCode(ssologinVO.getDispsettMembDivisCode());
- resultVO.setCorpnum(ssologinVO.getCorpnum());
- resultVO.setBuisnRegnum(ssologinVO.getBuisnRegnum());
- resultVO.setCompTitle(ssologinVO.getCompTitle());
-
- // 2. spring security 연동
- request.getSession().setAttribute("LoginVO", resultVO); // LoginVO세션 생성
- UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter();
- ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
- Map beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class);
- if (beans.size() > 0) {
- springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0];
- springSecurity.setUsernameParameter("egov_security_username");
- springSecurity.setPasswordParameter("egov_security_password");
- springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(request.getServletContext().getContextPath() + "/egov_security_login", "POST"));
-
- } else {
- throw new IllegalStateException("No AuthenticationProcessingFilter");
- }
-
- System.out.println("==15=1=");
-
- springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null);
-
- try{
- System.out.println("==15=1=");
- System.out.println("EgovUserDetailsHelper.isAuthenticated()");
- System.out.println(EgovUserDetailsHelper.isAuthenticated());
- }catch(Exception ex){
- ex.printStackTrace();
- }
-
- { // 관리자 로그인 log 저장
- String uniqId = "";
- String ip = "";
-
- /* Authenticated */
- LoginLog loginLog = new LoginLog();
- Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
- if (isAuthenticated.booleanValue()) {
- LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
- uniqId = user.getUniqId();
- ip = EgovClntInfo.getClntIP(request);
-
- HttpSession httpSession = request.getSession(true);
- {
- List siteManageList = new ArrayList();
- SiteManagerVO siteManagerVO = new SiteManagerVO();
- siteManagerVO.setFirstIndex(0);
- siteManagerVO.setRecordCountPerPage(100);
- siteManageList = egovSiteManagerService.selectSiteManagerList(siteManagerVO);
- httpSession.setAttribute("siteManageList", siteManageList);
- httpSession.setAttribute("loginId", user.getId()); // 자동완성 공통으로 쓰기위해
- httpSession.setAttribute("esntlId", user.getPassword());
-
- // 최근검색어 조회 후 세션에 넣어줌
- /*
- * UserManageVO tempUserManageVO = new UserManageVO();
- * tempUserManageVO.setEmplyrId(user.getId()); tempUserManageVO =
- * userManageService.selectRecentSearchWord(tempUserManageVO);
- *
- * List lisRecentSearch = new ArrayList(); if(null !=
- * tempUserManageVO){ //ArrayList 로 세션 저장
- * Collections.addAll(lisRecentSearch,tempUserManageVO.getSearchWord().split(","
- * )) ; } httpSession.setAttribute("recentSearch", lisRecentSearch) ;
- */
- }
- }
-
- loginLog.setLoginId(uniqId);
- loginLog.setLoginIp(ip);
- loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O
- loginLog.setErrOccrrAt("N");
- loginLog.setErrorCode("");
- // 로그인은 관리자, PC만 됨
- loginLog.setUserAt("U"); // 사용자
- loginLog.setDeviceType("P"); // PC
- loginLog.setProgrmFileNm("adminLogin");
- loginLog.setMenuNm("관리자로그인");
- loginLogService.logInsertLoginLog(loginLog);
- }
-
- // 로그인 전 URL 호출 시
- if (loginVO.getBeforeUrl() != null && !("").equals(loginVO.getBeforeUrl())) {
- request.getSession().setAttribute("usrBeforeUrl", loginVO.getBeforeUrl());
- // 회원가입 시 메세지 처리
- if (loginVO.getMessage() != null && !("").equals(loginVO.getMessage())) {
- request.getSession().setAttribute("registMessage", loginVO.getMessage());
- }
- }
- // 개인키 삭제
- // 성공시 웹페이지 분기로 인해 session에 페이지 타입을 넣어준다.
- request.getSession().setAttribute("pageType", "web");
- return "blank"; // 성공 시 페이지.. (redirect 불가)
- } else {
- String message = egovMessageSource.getMessage("fail.common.login");
- redirectAttributes.addAttribute("beforeUrl", loginVO.getBeforeUrl());
- redirectAttributes.addAttribute("message", message);
- return "redirect:/web/user/login/login.do";
- }
- }
-
- /**
- * (사용자) 외부 개발자용 로그인 처리 일반(스프링 시큐리티) 로그인을 처리한다
- *
- * @param vo - 아이디, 비밀번호가 담긴 LoginVO
- * @param request - 세션처리를 위한 HttpServletRequest
- * @return result - 로그인결과(세션정보)
- * @exception Exception
- */
- @RequestMapping(value = "/web/user/login/actionSecurityLogin2.do")
- public String selectActionSecurityLoginWeb2(@ModelAttribute("loginVO") LoginVO loginVO, HttpServletResponse response, HttpServletRequest request, ModelMap model, HttpSession session,
- RedirectAttributes redirectAttributes) throws Exception {
-
- ScriptEngineManager engine = new ScriptEngineManager();
-
- /*
- * //로그인 정보 check if(loginVO.getId() == null || loginVO.getPassword() == null){
- * SsoLoginVO SsoLoginSessionChk =
- * (SsoLoginVO)session.getAttribute("SSOLoginVO"); //SSOLoginVO 세션 체크
- * if(SsoLoginSessionChk != null) {
- *
- * loginVO.setId(SsoLoginSessionChk.getMembId()); loginVO.setPassword("1");
- * }else { model.addAttribute("message", "로그인을 다시 해주세요."); //로그인 페이지로 이동 return
- * "/web/kccadr/login/SsoLoginUsr"; } }
- *
- * SsoLoginVO ssologinVO = new SsoLoginVO(); ssologinVO =
- * (SsoLoginVO)session.getAttribute("SSOLoginVO"); String SsoLoginResult = "";
- * if(ssologinVO == null) { SSO로그인 및 SSOLoginVO 세선 생성 SsoLogin ssoLogin = new
- * SsoLogin(); SsoLoginResult = ssoLogin.SsoLogin(loginVO.getId(),
- * loginVO.getPassword(), request); } if("fail".equals(SsoLoginResult)) {
- * model.addAttribute("message", "아이디, 비밀번호를 확인해 주세요."); return
- * "/web/user/login/ssoLogin.do"; }
- *
- * ssologinVO = (SsoLoginVO)session.getAttribute("SSOLoginVO");
- *
- * if("".equals(ssologinVO.getDispsettMembDivisCode())) { 신청 관련코드 받아오면 처리 }
- */
-
- // 기존에 있던 회원이 아니면 DB에 일련번호 저장
- UserManageVO userManageVO = new UserManageVO();
- userManageVO.setMberSeq(loginVO.getMembSeq());
- userManageVO = userManageService.selectKccadrUser(userManageVO);
- SsoLoginVO ssoLoginVO = new SsoLoginVO();
- ssoLoginVO.setOtherUser("Y");
- ssoLoginVO.setMembSeq(userManageVO.getMberSeq());
- request.getSession().setAttribute("SSOLoginVO", ssoLoginVO);
-
- loginVO.setId(userManageVO.getEmplyrId());
- loginVO.setPassword(userManageVO.getPassword());
-
- /*
- * ssoLoginVO에서 아이디와, 일련번호, 부가가입여부 체크해서 DB에 일치하는 정보가 있는지 체크하고 일치하면 통과, 없으면
- * ssoLoginVO에서 일련번호, 부가가입여부를 포함한 사용자 정보 DB에 insert
- */
-
- loginVO.setUserSe("GNR");
- // 로그인 정보 check
-
- /*
- * if(loginVO.getId() == null || loginVO.getPassword() == null){ // 회원가입 시 로그인
- * 처리 LoginVO pLoginVO = (LoginVO)request.getAttribute("pLoginVO"); if (pLoginVO
- * == null) { // RSA 키 생성 initRsa(request); return
- * "redirect:/web/user/login/login.do"; } else {
- * loginVO.setId(pLoginVO.getId()); loginVO.setPassword(pLoginVO.getPassword());
- * loginVO.setBeforeUrl(pLoginVO.getBeforeUrl());
- * loginVO.setMessage(pLoginVO.getMessage()); } }
- */
-
- // 관리자 유무 체크
- List authorities = (List) loginService.selectAuthorities(loginVO);
- Boolean adminFlag = false;
- for (EgovMap authority : authorities) {
- // admin_auth_code 최하위 관리자 Roll 코드
- if (authority.get("authorCode").equals(propertiesService.getString("admin_auth_code")))
- adminFlag = true;
- }
-
- // 관리자 시 로그인 막기
- if (adminFlag) {
- model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
- // RSA 키 생성
-// initRsa(request);
- return "web/site/login/EgovLoginGnrlUsr";
- }
-
- // 1. 일반 로그인 처리
- LoginVO resultVO;
- String password = loginVO.getPassword();
- loginVO.setId(loginVO.getId());
- loginVO.setPassword(password);
-
- loginVO.setStatusAll("Y"); // 신청대기중인 사용자까지 조회
- /* loginVO.setUserSe("GNR"); */
- resultVO = loginService.actionLogin(loginVO);
- // 로그인 시 권한조회
- resultVO.setAuthority(loginService.getUserAuth(resultVO).getAuthority());
-
- String alertMessage = "";
- if (!"admin".equals(loginVO.getId())) {
- if (null == resultVO.getId()) { // 로그인 실패
- /* loginService.updatePassMissPlus(loginVO); */
- alertMessage = egovMessageSource.getMessage("fail.common.login");
- // 로그인 실패이면 메인페이지로 이동
- return goUserLoginPage(redirectAttributes, request, model, alertMessage);
- } /*
- * else{ if(resultVO.getPassMiss() > 5) { alertMessage =
- * "패스워드가 5회 이상 틀려 로그인 할수 없습니다. 관리자에게 문의하시기 바랍니다."; return
- * goUserLoginPage(redirectAttributes, request, model, alertMessage); }else
- * if("A".equals(resultVO.getEmplyrSttusCode())){ //신청상태 alertMessage =
- * "신청하신 아이디가 현제 승인대기 상태입니다."; return goUserLoginPage(redirectAttributes,
- * request, model, alertMessage); }else
- * if("B".equals(resultVO.getEmplyrSttusCode())){ //신청상태 alertMessage =
- * "아이디가 차단상태가 되어 사용할수 없습니다."; return goUserLoginPage(redirectAttributes,
- * request, model, alertMessage); } loginService.updatePassMissReset(loginVO); }
- */
- }
-
- boolean loginPolicyYn = true;
-
- // 접속IP
- String userIp = EgovClntInfo.getClntIP(request);
-
- // resultVO.siteId 의 각 로그인 ip를 조회함
- if (resultVO != null && resultVO.getId() != null && !resultVO.getId().equals("") && loginPolicyYn) {
- // 세션에다 ip 등록
- resultVO.setIp(userIp);
- // 2. spring security 연동
- request.getSession().setAttribute("LoginVO", resultVO); // LoginVO세션 생성
- UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter();
- ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
- Map beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class);
- if (beans.size() > 0) {
- springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0];
- springSecurity.setUsernameParameter("egov_security_username");
- springSecurity.setPasswordParameter("egov_security_password");
- springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(request.getServletContext().getContextPath() + "/egov_security_login", "POST"));
-
- } else {
- throw new IllegalStateException("No AuthenticationProcessingFilter");
- }
-
- System.out.println("==16=1=");
-
- springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null);
-
- try{
- System.out.println("==16=1=");
- System.out.println("EgovUserDetailsHelper.isAuthenticated()");
- System.out.println(EgovUserDetailsHelper.isAuthenticated());
- }catch(Exception ex){
- ex.printStackTrace();
- }
-
-
- { // 관리자 로그인 log 저장
- String uniqId = "";
- String ip = "";
-
- /* Authenticated */
- LoginLog loginLog = new LoginLog();
- Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
- if (isAuthenticated.booleanValue()) {
- LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
- uniqId = user.getUniqId();
- ip = EgovClntInfo.getClntIP(request);
-
- HttpSession httpSession = request.getSession(true);
- {
- List siteManageList = new ArrayList();
- SiteManagerVO siteManagerVO = new SiteManagerVO();
- siteManagerVO.setFirstIndex(0);
- siteManagerVO.setRecordCountPerPage(100);
- siteManageList = egovSiteManagerService.selectSiteManagerList(siteManagerVO);
- httpSession.setAttribute("siteManageList", siteManageList);
- httpSession.setAttribute("loginId", user.getId()); // 자동완성 공통으로 쓰기위해
- httpSession.setAttribute("esntlId", user.getPassword());
-
- // 최근검색어 조회 후 세션에 넣어줌
- /*
- * UserManageVO tempUserManageVO = new UserManageVO();
- * tempUserManageVO.setEmplyrId(user.getId()); tempUserManageVO =
- * userManageService.selectRecentSearchWord(tempUserManageVO);
- *
- * List lisRecentSearch = new ArrayList(); if(null !=
- * tempUserManageVO){ //ArrayList 로 세션 저장
- * Collections.addAll(lisRecentSearch,tempUserManageVO.getSearchWord().split(","
- * )) ; } httpSession.setAttribute("recentSearch", lisRecentSearch) ;
- */
- }
- }
-
- loginLog.setLoginId(uniqId);
- loginLog.setLoginIp(ip);
- loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O
- loginLog.setErrOccrrAt("N");
- loginLog.setErrorCode("");
- // 로그인은 관리자, PC만 됨
- loginLog.setUserAt("U"); // 사용자
- loginLog.setDeviceType("P"); // PC
- loginLog.setProgrmFileNm("adminLogin");
- loginLog.setMenuNm("관리자로그인");
- loginLogService.logInsertLoginLog(loginLog);
- }
-
- // 로그인 전 URL 호출 시
- if (loginVO.getBeforeUrl() != null && !("").equals(loginVO.getBeforeUrl())) {
- request.getSession().setAttribute("usrBeforeUrl", loginVO.getBeforeUrl());
- // 회원가입 시 메세지 처리
- if (loginVO.getMessage() != null && !("").equals(loginVO.getMessage())) {
- request.getSession().setAttribute("registMessage", loginVO.getMessage());
- }
- }
- // 개인키 삭제
- // 성공시 웹페이지 분기로 인해 session에 페이지 타입을 넣어준다.
- request.getSession().setAttribute("pageType", "web");
-
- return "blank"; // 성공 시 페이지.. (redirect 불가)
- } else {
- String message = egovMessageSource.getMessage("fail.common.login");
- redirectAttributes.addAttribute("beforeUrl", loginVO.getBeforeUrl());
- redirectAttributes.addAttribute("message", message);
- return "redirect:/web/user/login/login.do";
- }
- }
/**
* 로그인 후 메인화면으로 들어간다
@@ -1934,30 +1049,6 @@ public class EgovLoginController {
@RequestMapping(value = "/web/uat/uia/actionLogout.do")
public String selectActionLogoutWeb(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
- SsoAgentInfo ssoagentinfo = new SsoAgentInfo();
-
- String client_ip = "127.0.0.1";
-
- if (!ProfileUtil.isLocal()) {
- // SsoLoginVO 세션 정보 취득
- SsoLoginVO ssoLoginVO = new SsoLoginVO();
- HttpSession session = request.getSession();
- /*ssologin에서 e배움터 API 로그인으로 변경*/
- /*ssoLoginVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
- if (ssoLoginVO != null) {
- if (!"USRCNFRM_00000002940".equals(ssoLoginVO.getMembId()) || !"USRCNFRM_00000002941".equals(ssoLoginVO.getMembId()) || !"USRCNFRM_00000002942".equals(ssoLoginVO.getMembId())
- || !"USRCNFRM_00000002943".equals(ssoLoginVO.getMembId()) || !"USRCNFRM_00000002944".equals(ssoLoginVO.getMembId()) || !"USRCNFRM_00000002550".equals(ssoLoginVO.getMembId())
- || !"USRCNFRM_00000002542".equals(ssoLoginVO.getMembId()) || !"USRCNFRM_00000002541".equals(ssoLoginVO.getMembId()) || !"USRCNFRM_00000002540".equals(ssoLoginVO.getMembId())
- || !"USRCNFRM_00000002533".equals(ssoLoginVO.getMembId())) {
- BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);
- BandiSSOAgent agent = new BandiSSOAgent(ssoagentinfo.getSsoUri(), ssoagentinfo.getClientId(), ssoagentinfo.getClientSecret(), ssoagentinfo.getScope());
-
- // sso 로그아웃
- agent.logout(ssoLoginVO.getAccess_token(), client_ip);
- }
- }*/
- }
-
// Spring Security 로그아웃
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
if (auth != null) {
@@ -1970,54 +1061,6 @@ public class EgovLoginController {
return "redirect:/web/main/mainPage.do";
}
- /* 캡차 테스트 */
- @RequestMapping(value = "/captcha/captchaTest.do")
- public String captchaTest(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, ModelMap model) throws Exception {
- return "cmm/chptcha/captchaTest";
- }
-
- /* 캡차 이미지 */
- @RequestMapping(value = "/captcha/captchaImg.do")
- public String captchaImg1(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
-
- return "cmm/chptcha/captchaImg";
- }
-
- /* 캡차 오디오 */
- @RequestMapping(value = "/captcha/captchaAudio.do")
- public String captchaAudio1(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
- return "cmm/chptcha/captchaAudio";
- }
-
- /* 캡차 submit */
- @RequestMapping(value = "/captcha/captchaSubmit.do")
- public ModelAndView captchaSubmit(@RequestParam Map commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception {
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.setViewName("jsonView");
-
- String answer = (String) commandMap.get("answer");
- String captcha = (String) request.getSession().getAttribute("captcha");
- String message = "캡차 입력값이 일치하지 않습니다.";
- if (answer != null && !"".equals(answer)) {
- if (answer.equals(captcha)) {
- message = "캡차 입력값이 일치합니다.";
- }
- }
- modelAndView.addObject("message", message);
- return modelAndView;
- }
-
- /* 캡차 이미지 */
- @RequestMapping(value = "captchaImg.do")
- public void cpatchaImg(HttpServletRequest request, HttpServletResponse response) throws Exception {
- new CaptchaUtil().captchaImg(request, response);
- }
-
- @RequestMapping(value = "captchaAudio.do")
- public void cpatchaAudio(HttpServletRequest request, HttpServletResponse response) throws Exception {
- new CaptchaUtil().captchaAudio(request, response);
- }
-
/**
* 로그인 후 메인화면으로 들어간다
*
@@ -2457,168 +1500,6 @@ public class EgovLoginController {
return "redirect:/";
}
- /* SNS 추가 내역 */
-
- @RequestMapping(value = "/snsLogin/naverOauth.do", produces = "application/json", method = { RequestMethod.GET, RequestMethod.POST })
- public String naverRedirect(Model model, @RequestParam("code") String code, @RequestParam String state, HttpSession session, HttpServletRequest req, RedirectAttributes redirectAttributes) {
-
- String siteId = (String) session.getAttribute("siteId");
- JsonNode node = getAccessToken("naver", code, state);
-
- // 결과값 출력
- System.out.println("node : " + node);
-
- // 노드 안에 있는 access_token값을 꺼내 문자열로 변환
- String token = node.get("access_token").toString();
-
- // 세션에 담아준다.
- session.setAttribute("token", token);
- JsonNode userInfo = getUserInfo("naver", node.get("access_token"));
- JsonNode response = userInfo.path("response");
-
- String id = response.path("id").asText();
- String name = response.path("name").asText();
- String snsEmail = response.path("email").asText();
-
- LoginVO loginVO = new LoginVO();
- loginVO.setSnsId(id);
- loginVO.setName(name);
- loginVO.setSnsEmail(snsEmail);
- loginVO.setSnsSite("naver");
- model.addAttribute("loginVO", loginVO);
- return "web/login/EgovUserSNSLogin";
- }
-
- @RequestMapping(value = "/snsLogin/kakaoOauth.do", produces = "application/json", method = { RequestMethod.GET, RequestMethod.POST })
- public String kakaoRedirect(Model model, @RequestParam("code") String code, HttpSession session, HttpServletRequest req, RedirectAttributes redirectAttributes) {
- JsonNode node = getAccessToken("kakao", code, "");
-
- // 노드 안에 있는 access_token값을 꺼내 문자열로 변환
- String token = node.get("access_token").toString();
- // 세션에 담아준다.
- session.setAttribute("token", token);
- JsonNode userInfo = getUserInfo("kakao", node.get("access_token"));
-
- String id = userInfo.path("id").asText();
- String name = userInfo.path("name").asText();
- String snsEmail = userInfo.path("email").asText();
-
- // 유저정보 카카오에서 가져오기 Get properties
- JsonNode properties = userInfo.path("properties");
- JsonNode kakao_account = userInfo.path("kakao_account");
-
- id = userInfo.path("id").asText();
- name = null;
- snsEmail = null;
-
- name = properties.path("nickname").asText();
- snsEmail = kakao_account.path("email").asText();
-
- LoginVO loginVO = new LoginVO();
- loginVO.setSnsId(id);
- loginVO.setName(name);
- loginVO.setSnsEmail(snsEmail);
- loginVO.setSnsSite("kakao");
- model.addAttribute("loginVO", loginVO);
-
-// return "forward:/"+siteId+"/web/user/login/actionSecurityLogin.do?snsnsId="+id+"&name="+name+"&email="+email+"&snsSite=kakao";
- return "web/login/EgovUserSNSLogin";
-
- }
-
- public JsonNode getAccessToken(String site, String code, String state) {
-
- String RequestUrl = "";
- List postParams = new ArrayList();
-
- if (site.equals("kakao")) {
- RequestUrl = "https://kauth.kakao.com/oauth/token";
- postParams.add(new BasicNameValuePair("grant_type", "authorization_code"));
- postParams.add(new BasicNameValuePair("client_id", itnKakaoRestApiKey));
- postParams.add(new BasicNameValuePair("code", code));
-
- } else if (site.equals("naver")) {
- RequestUrl = "https://nid.naver.com/oauth2.0/token";
-
- postParams.add(new BasicNameValuePair("grant_type", "authorization_code"));
- postParams.add(new BasicNameValuePair("client_id", itnNaverClientId));
- postParams.add(new BasicNameValuePair("client_secret", itnNaverClientSecret));
- postParams.add(new BasicNameValuePair("code", code));
- postParams.add(new BasicNameValuePair("state", state));
-
- } else if (site.equals("google")) {
-
- }
-
- final HttpClient client = HttpClientBuilder.create().build();
- final HttpPost post = new HttpPost(RequestUrl);
-
- JsonNode returnNode = null;
-
- try {
- post.setEntity(new UrlEncodedFormEntity(postParams));
- final HttpResponse response = client.execute(post);
- final int responseCode = response.getStatusLine().getStatusCode();
-
- // JSON 형태 반환값 처리
- ObjectMapper mapper = new ObjectMapper();
- returnNode = mapper.readTree(response.getEntity().getContent());
-
- } catch (UnsupportedEncodingException e) {
- System.out.println("UnsupportedEncodingException Occured!!!");
- } catch (ClientProtocolException e) {
- System.out.println("ClientProtocolException Occured!!!");
- } catch (IOException e) {
- System.out.println("IOException Occured!!!");
- } finally {
- }
- return returnNode;
- }
-
- public JsonNode getUserInfo(String site, JsonNode accessToken) {
-
- // String CLIENT_ID = K_CLIENT_ID; // REST API KEY
- // String REDIRECT_URI = K_REDIRECT_URI; // 리다이렉트 URI
- // String code = autorize_code; // 로그인 과정중 얻은 토큰 값
- String RequestUrl = "";
-
- if (site.equals("kakao")) {
- RequestUrl = "https://kapi.kakao.com/v2/user/me";
-
- } else if (site.equals("naver")) {
- RequestUrl = "https://openapi.naver.com/v1/nid/me";
-
- } else if (site.equals("google")) {
-
- }
-
- final HttpClient client = HttpClientBuilder.create().build();
- final HttpPost post = new HttpPost(RequestUrl);
-
- // add header
- post.addHeader("Authorization", "Bearer " + accessToken);
-
- JsonNode returnNode = null;
-
- try {
- final HttpResponse response = client.execute(post);
- final int responseCode = response.getStatusLine().getStatusCode();
- // JSON 형태 반환값 처리
- ObjectMapper mapper = new ObjectMapper();
- returnNode = mapper.readTree(response.getEntity().getContent());
-
- } catch (UnsupportedEncodingException e) {
- System.out.println("UnsupportedEncodingException Occured!!!");
- } catch (ClientProtocolException e) {
- System.out.println("ClientProtocolException Occured!!!");
- } catch (IOException e) {
- System.out.println("IOException Occured!!!");
- } finally {
- // clear resources
- }
- return returnNode;
- }
-
}
class RequestWrapperForSecurity extends HttpServletRequestWrapper {
diff --git a/src/main/java/kcc/let/uat/uia/web/SsoAgentInfo.java b/src/main/java/kcc/let/uat/uia/web/SsoAgentInfo.java
deleted file mode 100644
index d949c0c0..00000000
--- a/src/main/java/kcc/let/uat/uia/web/SsoAgentInfo.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package kcc.let.uat.uia.web;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-@Component
-public class SsoAgentInfo {
-
- //SSO agent 관련 설정
-
- private static String ssoUri;
-
- private static String clientId;
-
- private static String clientSecret;
-
- private static String scope;
-
- @Value("#{globalSettings['Globals.sso.ssoUri']}")
- public void setSsoUri(String ssoUri) {
- SsoAgentInfo.ssoUri = ssoUri;
- }
- @Value("#{globalSettings['Globals.sso.clientId']}")
- public void setClientId(String clientId) {
- SsoAgentInfo.clientId = clientId;
- }
- @Value("#{globalSettings['Globals.sso.clientSecret']}")
- public void setClientSecret(String clientSecret) {
- SsoAgentInfo.clientSecret = clientSecret;
- }
- @Value("#{globalSettings['Globals.sso.scope']}")
- public void setScope(String scope) {
- SsoAgentInfo.scope = scope;
- }
- public String getSsoUri() {
- return ssoUri;
- }
- public String getClientId() {
- return clientId;
- }
- public String getClientSecret() {
- return clientSecret;
- }
- public String getScope() {
- return scope;
- }
-
-}
diff --git a/src/main/java/kcc/let/uat/uia/web/SsoLogin.java b/src/main/java/kcc/let/uat/uia/web/SsoLogin.java
deleted file mode 100644
index 259d12cc..00000000
--- a/src/main/java/kcc/let/uat/uia/web/SsoLogin.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package kcc.let.uat.uia.web;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.bandi.oauth.BandiSSOAgent;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-
-import kcc.com.cmm.service.EgovFileMngUtil;
-import kcc.let.uat.uia.service.SsoLoginVO;
-
-public class SsoLogin {
-
-
-
- private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class);
-
- //실서버 적용시 변경
- // agent 관련 설정
- /*private static String ssoUri = "https://devsso.copyright.or.kr/oauth2/token.do"; // 개발서버 URL
- private static String clientId = "해당 시스템의 클라이언트 아이디";
- private static String clientId = "30354835c3684ff79e7fb1bfd3a768f6";
- private static String clientSecret = "해당 시스템의 클라이언트 시크릿";
- private static String clientSecret = "1ueil5ee05wr0t1gjy1ppt212";
- private static String scope = "http://sso.copyright.or.kr"; // 고정
-*/
- // 1 : id/pw 로그인, 2 : hp/pw 로그인, 3 : seq/ci 로그인
- private static String type = "1";
-
- public static String SsoLogin(String Id, String Password, HttpServletRequest request) throws Exception {
- SsoAgentInfo ssoagentinfo = new SsoAgentInfo();
- // SSO 로그인 연계 "BandiSSOAgent 생성" 참조
- /*BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);*/
- BandiSSOAgent agent = new BandiSSOAgent(ssoagentinfo.getSsoUri(), ssoagentinfo.getClientId(), ssoagentinfo.getClientSecret(), ssoagentinfo.getScope());
-
- // 사용자 접속 ip
- // agent.getLocalServerIp(request);
- String client_ip = "127.0.0.1";
-
- // https://devoneid.copyright.or.kr 에서 가입함 ID/PW 입력
- /*String user_id = "itn0801@gmail.com";*/
- String user_id = Id;
- /*String user_pwd = "itntest123$";*/
- String user_pwd = Password;
-
- SsoLoginVO ssoLoginVO = new SsoLoginVO();
-
- // SSO 로그인 연계 "accessToken 함수 요청" 및 "accessToken 함수 결과" 참조
- HashMap login = agent.accessToken(user_id, user_pwd, client_ip, type);
-
- /*에러코드*/
- String error = login.get("error");
- /*에러 메시지*/
- String error_message = login.get("error_message");
-
- /*에러 콘솔 로거*/
- LOGGER.debug("error : ", error);
- LOGGER.debug("error_message : ", error_message);
-// try {
- if(login.get("error").equals("0000") || login.get("error").equals("VL-3130")) {
- String access_token = login.get("access_token");
- String refresh_token = login.get("refresh_token");
-
- /*쿠키유지시간*/
- String expires_in = login.get("expires_in");
-
- // userInfo의 type은 무조건 1을 입력한다.
- // SSO 로그인 연계 "userInfo 함수 요청" 및 "userInfo 함수 결과" 참조
- HashMap userInfo = agent.userInfo(access_token, client_ip, type);
-
- //법인회원 정보 처리
- if(userInfo.get("corpUserInfo") != null) {
- List