diff --git a/src/main/java/nlib/col/web/InterestController.java b/src/main/java/nlib/col/web/InterestController.java index b31f1572..e545ec57 100644 --- a/src/main/java/nlib/col/web/InterestController.java +++ b/src/main/java/nlib/col/web/InterestController.java @@ -86,24 +86,21 @@ public class InterestController extends NlibCommonController @RequestParam Map paramMap, CollectionVO searchCollectionVO, ModelMap model) throws Exception { String message = ""; - String mbInfoId = getMbInfoId(request); - - if(StringUtil.isEmpty(mbInfoId)) { + + //사용자 정보를 가져온다. + NlibLoginVO loginVO = getNlibLoginVO(authentication); + + if(loginVO == null) { message = "로그인하신 후, 이용바랍니다."; model.addAttribute("message", message); model.addAttribute("url", "/login/loginForm.do"); return "nlib/cmm/alert"; } - List vo = new ArrayList(); - - //사용자 정보를 가져온다. - NlibLoginVO loginVO = getNlibLoginVO(authentication); searchCollectionVO.setMbInfoId(loginVO.getMbInfoId()); //문화원 목록 조회 - vo = interestService.selectOrgList(searchCollectionVO); - model.addAttribute("pdfUri",NlibProperty.getProperty("pdf.uri")); + List vo = interestService.selectOrgList(searchCollectionVO); model.addAttribute("deptList",vo); model.addAttribute("searchCollection", searchCollectionVO); return "nlib/collection/listInterests"; @@ -136,7 +133,7 @@ public class InterestController extends NlibCommonController List interestList = interestService.listInterests(searchCollectionVO); totalCount = interestService.countListInterests(searchCollectionVO); - String mbInfoId = getMbInfoId(request); + operList = collectionService.setDetailInfoForList(interestList, getMbInfoId(request)); //------------------------------- // JSON변환 응답 처리 @@ -166,17 +163,16 @@ public class InterestController extends NlibCommonController */ @RequestMapping(value="/interest/deleteInterests.ajax") @ResponseBody - public String deleteInterests(@RequestParam(value="masterIdList[]") List masterIdList,Authentication authentication) { - NlibLoginVO loginVO = getNlibLoginVO(authentication); - String message=""; - - if(loginVO.getMbInfoId() == null) - { - message="로그인 후 이용하실 수 있습니다."; + public String deleteInterests(HttpServletRequest request, @RequestParam(value="masterIdList[]") List masterIdList,Authentication authentication) { + String mbInfoId = getMbInfoId(request); + String message=""; + + if(StringUtil.isEmpty(mbInfoId)) { + message="로그인 후, 이용하실 수 있습니다."; return message; - } + } - interestService.deleteInterests(masterIdList,loginVO.getMbInfoId()); + interestService.deleteInterests(masterIdList,mbInfoId); message ="선택하신 관심자료가 삭제되었습니다."; return message; } @@ -187,19 +183,22 @@ public class InterestController extends NlibCommonController */ @RequestMapping(value="/interest/insertInterest.ajax") @ResponseBody - public String insertInterest(@RequestParam(value="masterId") String masterId,HttpServletResponse response,Authentication authentication,HttpServletRequest request) { + public String insertInterest(@RequestParam(value="masterId") String masterId, HttpServletResponse response, Authentication authentication, HttpServletRequest request) { int count = 0; String message = ""; + String mbInfoId = getMbInfoId(request); - NlibLoginVO loginVO = getNlibLoginVO(authentication); - + if(StringUtil.isEmpty(mbInfoId)) { + message="로그인 후, 이용하실 수 있습니다."; + return message; + } CollectionVO vo = new CollectionVO(); - vo.setMbInfoId(loginVO.getMbInfoId()); + vo.setMbInfoId(mbInfoId); vo.setMasterId(masterId); if(vo.getMbInfoId() == null) { - message="로그인 후 이용하실 수 있습니다."; + message="로그인 후, 이용하실 수 있습니다."; return message; } diff --git a/src/main/java/nlib/sch/web/NlibSearchController.java b/src/main/java/nlib/sch/web/NlibSearchController.java index 25b44bb7..9a239650 100644 --- a/src/main/java/nlib/sch/web/NlibSearchController.java +++ b/src/main/java/nlib/sch/web/NlibSearchController.java @@ -318,6 +318,17 @@ public class NlibSearchController extends NlibCommonController { keywordList.add(keyword_arr[i]); } } + //목차 편집 + if(!(vo == null) && !StringUtil.getString(vo.getBookIndex(),"").equals("")) + { + String bookIndex = vo.getBookIndex(); + bookIndex = bookIndex.replace("---","-"); + + if(bookIndex.indexOf("***") != -1) + bookIndex = bookIndex.substring(0, bookIndex.indexOf("***")); + + vo.setBookIndex(bookIndex); + } model.addAttribute("keywordList",keywordList); model.addAttribute("result", vo); model.addAttribute("searchVO", searchVO); diff --git a/src/main/java/nlib/user/web/MemberController.java b/src/main/java/nlib/user/web/MemberController.java index d6202333..b8b9777d 100644 --- a/src/main/java/nlib/user/web/MemberController.java +++ b/src/main/java/nlib/user/web/MemberController.java @@ -197,7 +197,7 @@ public class MemberController extends NlibCommonController{ int count=0; //기 가입계정인지 확인 - count=memberService.selectSnsIdCount(oauthUser); + count = memberService.selectSnsIdCount(oauthUser); if(count>0) { model.addAttribute("message", "이미 가입된 계정입니다. 로그인 후, 이용해 주시기 바랍니다."); @@ -219,19 +219,19 @@ public class MemberController extends NlibCommonController{ */ @RequestMapping(value="/member/insertMemberInfoForm.do") public String insertMemberInfoForm(HttpServletRequest request,NlibLoginVO vo,HttpSession session,ModelMap model ) throws Exception{ - int siteCnt; String jsessionId = session.getId(); - String councilCd = (String)session.getAttribute("councilCd"); - //String councilReturnUrl = (String)session.getAttribute("councilReturnUrl"); - OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId); - if(!(oauthUser == null)) + if(oauthUser == null) { - // 등록된 ID가 있는 지 확인 - if(!(StringUtil.getString(oauthUser.getSnsUserId(),"")== "")) - vo = memberService.selectAlreadySignUpId(oauthUser); + model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요."); + model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); + return "nlib/cmm/alert"; } + // 등록된 ID가 있는 지 확인 + if(!(StringUtil.getString(oauthUser.getSnsUserId(),"")== "")) + vo = memberService.selectAlreadySignUpId(oauthUser); + /* 등록된 ID가 있을때 통합처리 */ if(vo != null && !StringUtil.getString(vo.getMbInfoId(), "").equals("")) { @@ -280,11 +280,21 @@ public class MemberController extends NlibCommonController{ */ @RequestMapping(value="/member/snsAccountLink.ajax" , method=RequestMethod.POST) public @ResponseBody String snsAccountLink(NlibLoginVO vo,HttpServletResponse response,Authentication authentication,ModelMap model,HttpServletRequest request,HttpSession session) throws Exception{ + String jsessionId = session.getId(); + OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId); + + if(oauthUser == null) + { + model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요."); + model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); + return "nlib/cmm/alert"; + } + NlibLoginVO loginVO = new NlibLoginVO(); loginVO.setMbInfoId(vo.getMbInfoId()); //사용자 정보를 가져온다. - loginVO=userInfoService.selectMyInfo(loginVO); + loginVO = userInfoService.selectMyInfo(loginVO); String msg=""; @@ -294,8 +304,6 @@ public class MemberController extends NlibCommonController{ //암호화된 패스워드 비교 if(loginVO.getPassword().equals(vo.getPassword())) { - String jsessionId = session.getId(); - OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId); oauthUser.setMbInfoId(vo.getMbInfoId()); memberService.insertMemberSns(oauthUser); model.addAttribute("oauthUser",oauthUser); @@ -319,8 +327,15 @@ public class MemberController extends NlibCommonController{ String councilHomeUrl=url.replaceAll(request.getRequestURI(), "") + request.getContextPath(); String jsessionId = session.getId(); - OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId); - + OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId); + + if(oauthUser == null) + { + model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요."); + model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); + return "nlib/cmm/alert"; + } + SessionConfig.setLoginInfo(jsessionId, oauthUser); session.setAttribute("councilReturnUrl","/member/accountConsolidationForm.do" );//로그인후 이동할페이지 redirectUrl = councilHomeUrl + NlibProperty.getString("nculture.login.post.login.redirect.uri"); @@ -345,6 +360,13 @@ public class MemberController extends NlibCommonController{ String jsessionId = session.getId(); OAuthUniversalUser oauthUser = SessionConfig.popNewMemberInfo(jsessionId); + if(oauthUser == null) + { + model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요."); + model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); + return "nlib/cmm/alert"; + } + model.addAttribute("result",loginVO); model.addAttribute("oauthUser",oauthUser); return "/nlib/member/accountConsolidationForm"; @@ -356,8 +378,6 @@ public class MemberController extends NlibCommonController{ @RequestMapping(value="/member/insertMemberInfo.do") public String insertMemberInfo(NlibLoginVO vo,ModelMap model,HttpSession session,HttpServletRequest request) throws Exception{ - EmailVO email = new EmailVO(); - String jsessionId = session.getId(); OAuthUniversalUser oauthUser = SessionConfig.popNewMemberInfo(jsessionId); if(oauthUser != null && oauthUser.getNlibVO() != null) @@ -386,7 +406,6 @@ public class MemberController extends NlibCommonController{ } } //문화원코드 - String councilCd = (String)session.getAttribute("councilCd"); String councilNm = (String)session.getAttribute("councilNm"); //클라이언트 IP주소 vo.setIp(getRemoteIP(request)); @@ -454,8 +473,6 @@ public class MemberController extends NlibCommonController{ return map; } - EmailVO emailVO = new EmailVO(); - //인증번호 생성 String CertNumber=memberService.numberGen(6,1); @@ -549,6 +566,10 @@ public class MemberController extends NlibCommonController{ String jsessionId = session.getId(); OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId); + if(oauthUser == null) + { + return "false"; + } //이메일과 인증번호 확인 if(oauthUser.getNlibVO().getEmail().equals(email) && oauthUser.getNlibVO().getEmailVrfctNo().equals(emailVrfctNo)) { @@ -648,6 +669,11 @@ public class MemberController extends NlibCommonController{ String jsessionId = session.getId(); OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId); + if(oauthUser == null) + { + return "false"; + } + //핸드폰번호와 인증번호 확인 if(oauthUser.getNlibVO().getMobileNo().equals(mobileNo) && oauthUser.getNlibVO().getMobileVrfctNo().equals(mobileVrfctNo)) { @@ -670,6 +696,11 @@ public class MemberController extends NlibCommonController{ public String deleteMembershipForm(HttpServletResponse response,Authentication authentication,HttpServletRequest request,ModelMap model) throws Exception{ //사용자 정보를 가져온다. NlibLoginVO loginVO = getNlibLoginVO(authentication); + if(loginVO == null) { + model.addAttribute("msg","잘못된 접근입니다. \\n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다."); + model.addAttribute("url","${pageContext.request.contextPath}"+"/"); + return "nlib/cmm/alert"; + } loginVO.setJoinCouncilCd(getCurCouncilCd(request)); loginVO = loginService.selectLoginUserInfo(loginVO); @@ -689,15 +720,20 @@ public class MemberController extends NlibCommonController{ public @ResponseBody String deleteMembership(Authentication authentication,HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{ //사용자 정보를 가져온다. NlibLoginVO loginVO = getNlibLoginVO(authentication); + if(loginVO == null) { + model.addAttribute("msg","잘못된 접근입니다. \\n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다."); + model.addAttribute("url","${pageContext.request.contextPath}"+"/"); + return "nlib/cmm/alert"; + } + loginVO.setJoinCouncilCd(getCurCouncilCd(request)); loginVO = loginService.selectLoginUserInfo(loginVO); - String a=loginVO.getLoginUserId()+request.getParameter("password").trim(); - String password=egovPasswordEncoder.encryptPassword(a); + String password = egovPasswordEncoder.encryptPassword(loginVO.getLoginUserId()+request.getParameter("password").trim()); String message=""; - if(loginVO!=null && (loginVO.getPassword().equals(password))) + if(loginVO != null && (loginVO.getPassword().equals(password))) { //회원탈퇴 memberService.deleteMembership(loginVO); @@ -732,7 +768,6 @@ public class MemberController extends NlibCommonController{ */ @RequestMapping(value="/member/initPassword.ajax") public @ResponseBody String initPassword(NlibLoginVO vo,HttpSession session,HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{ - //내정보페이지, 회원가입시 핸드폰번호가 같을시 비밀번호 초기화 String email = vo.getEmail(); vo.setEmail(""); int count =0; @@ -812,6 +847,13 @@ public class MemberController extends NlibCommonController{ //사용자 정보를 가져온다. NlibLoginVO loginVO = getNlibLoginVO(authentication); + String message=""; + + if(loginVO == null) { + message="fail"; + return message; + } + loginVO.setJoinCouncilCd(getCurCouncilCd(request)); loginVO = loginService.selectLoginUserInfo(loginVO); @@ -819,8 +861,6 @@ public class MemberController extends NlibCommonController{ String password=egovPasswordEncoder.encryptPassword(loginVO.getLoginUserId()+request.getParameter("password")); String newPassword=egovPasswordEncoder.encryptPassword(loginVO.getLoginUserId()+request.getParameter("newPassword")); - String message=""; - if(loginVO!=null && loginVO.getPassword().equals(password)) { loginVO.setPassword(newPassword); @@ -834,55 +874,6 @@ public class MemberController extends NlibCommonController{ return message; } - - /** - * 회원가입 SNS 구글인증 - * @exception Exception - *//* - @RequestMapping(value = "/member/googleCallback.do") - public String googleCallback(@RequestParam(value = "code") String authCode, HttpSession session, Model model, - HttpServletRequest request,RedirectAttributes rttr) throws Exception { - - String code = request.getParameter("code"); - HttpHeaders headers = new HttpHeaders(); - RestTemplate restTemplate = new RestTemplate(); - headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); - - MultiValueMap parameters = new LinkedMultiValueMap<>(); - parameters.add("code", code); - parameters.add("client_id", "879126511006-jro7bld7b2epl3n5mkksp0p24k2inbpu.apps.googleusercontent.com"); - parameters.add("client_secret", "F6T-ZV9jibLhKtcugxPUtBlN"); - parameters.add("redirect_uri", "http://nlib.nculture.org/nlib/member/googleCallback.do"); - parameters.add("grant_type", "authorization_code"); - - HttpEntity> rest_request = new HttpEntity<>(parameters,headers); - - URI uri = URI.create("https://www.googleapis.com/oauth2/v4/token"); - - ResponseEntity resultEntity; - resultEntity = restTemplate.postForEntity(uri, rest_request, String.class); - // JSON 파싱을 위한 기본값 세팅 - // 요청시 파라미터는 스네이크 케이스로 세팅되므로 Object mapper에 미리 설정해준다. - ObjectMapper mapper = new ObjectMapper(); - mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE); - mapper.setSerializationInclusion(Include.NON_NULL); - // Token Request - GoogleOAuthResponse result = mapper.readValue(resultEntity.getBody(), new TypeReference() { - }); - - // ID Token만 추출 (사용자의 정보는 jwt로 인코딩 되어있다) - String jwtToken = result.getIdToken(); - String requestUrl = UriComponentsBuilder.fromHttpUrl("https://oauth2.googleapis.com/tokeninfo") - .queryParam("id_token", jwtToken).toUriString(); - - String resultJson = restTemplate.getForObject(requestUrl, String.class); - - Map userInfo = mapper.readValue(resultJson, new TypeReference>() { - }); - - rttr.addFlashAttribute("email",userInfo.get("email")); - return "redirect:/member/insertMemberInfoForm.do"; - }*/ //클라이언트 IP 가져오기 public static String getRemoteIP(HttpServletRequest request){ String ip = request.getHeader("X-FORWARDED-FOR"); diff --git a/src/main/java/nlib/user/web/UserInfoController.java b/src/main/java/nlib/user/web/UserInfoController.java index 2471645d..8c4bd122 100644 --- a/src/main/java/nlib/user/web/UserInfoController.java +++ b/src/main/java/nlib/user/web/UserInfoController.java @@ -132,7 +132,7 @@ public class UserInfoController extends NlibCommonController { if(loginVO == null) { - model.addAttribute("msg","비정상적인 접근입니다. \\n관리자에게 문의하여 주시기 바랍니다."); + model.addAttribute("msg","잘못된 접근입니다. \\n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다."); model.addAttribute("url","/userInfo/pwCertMyInfo.do"); return "nlib/cmm/alert"; } @@ -228,8 +228,16 @@ public class UserInfoController extends NlibCommonController { @Secured("ROLE_USER") @RequestMapping(value="/userInfo/pwCertMyInfo.do") public String pwCertMyInfo(HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{ - NlibLoginVO nlibLoginVO = getNlibLoginVO(request); - model.addAttribute("loginVO",nlibLoginVO); + NlibLoginVO loginVO = getNlibLoginVO(request); + + if(loginVO == null) + { + model.addAttribute("msg","잘못된 접근입니다. \\n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다."); + model.addAttribute("url","${pageContext.request.contextPath}"+"/"); + return "nlib/cmm/alert"; + } + + model.addAttribute("loginVO",loginVO); return "nlib/userInfo/pwCertMyInfo"; } diff --git a/src/main/resources/egovframework/mapper/nlib/cmm/MainDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/cmm/MainDAO_SQL.xml index a3462236..bf969d98 100644 --- a/src/main/resources/egovframework/mapper/nlib/cmm/MainDAO_SQL.xml +++ b/src/main/resources/egovframework/mapper/nlib/cmm/MainDAO_SQL.xml @@ -38,57 +38,23 @@ diff --git a/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp b/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp index 243cfacd..fb34c8ec 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp @@ -276,7 +276,7 @@ function goList(){

목차정보

-
+

없음

diff --git a/src/main/webapp/WEB-INF/jsp/nlib/userInfo/pwCertMyInfo.jsp b/src/main/webapp/WEB-INF/jsp/nlib/userInfo/pwCertMyInfo.jsp index 442d66a4..f32268d3 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/userInfo/pwCertMyInfo.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/userInfo/pwCertMyInfo.jsp @@ -47,7 +47,7 @@ function goPutMyInfo(){ }
- +

내 정보 패스워드 섹션영역

diff --git a/src/main/webapp/WEB-INF/tiles/tiles-layout.jsp b/src/main/webapp/WEB-INF/tiles/tiles-layout.jsp index de6499d5..80b87697 100644 --- a/src/main/webapp/WEB-INF/tiles/tiles-layout.jsp +++ b/src/main/webapp/WEB-INF/tiles/tiles-layout.jsp @@ -4,6 +4,9 @@ <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<% +String councilDnsHost = (String)session.getAttribute("councilDnsHost"); +%> @@ -12,6 +15,14 @@ + + + + + + + + diff --git a/src/main/webapp/images/meta_og_image.jpg b/src/main/webapp/images/meta_og_image.jpg new file mode 100644 index 00000000..075fd409 Binary files /dev/null and b/src/main/webapp/images/meta_og_image.jpg differ diff --git a/src/main/webapp/js/nlib.js b/src/main/webapp/js/nlib.js index b885da6c..6a0e17cb 100644 --- a/src/main/webapp/js/nlib.js +++ b/src/main/webapp/js/nlib.js @@ -409,7 +409,7 @@ function gfn_showDocPdf(interfaceId,masterId,typeDivCd,dtlsTypeDivCd) { function gfn_setSnsShare(interfaceId,masterId,typeDivCd,dtlsTypeDivCd){ var url=window.location.protocol + "//" + window.location.host + window.location.pathname + "?masterId=" + masterId; - if(interfaceId != null && interfaceId != '') + if(!fn_isEmpty(interfaceId)) { if(typeDivCd == "IT_PHOTO" && (dtlsTypeDivCd == "C199" || dtlsTypeDivCd == "C01")){ url = IMAGE_VIEW_URL; @@ -418,6 +418,7 @@ function gfn_setSnsShare(interfaceId,masterId,typeDivCd,dtlsTypeDivCd){ }else{ url = DOC_VIEW_URL; } + url += interfaceId } $('#div_pop-sharing img').attr('data-cUrl',url); // url 모두 맵핑