This commit is contained in:
KNKIM 2021-11-23 11:43:24 +09:00
commit 8b2ddbf77f
7 changed files with 114 additions and 104 deletions

View File

@ -86,24 +86,21 @@ public class InterestController extends NlibCommonController
@RequestParam Map<String, String> 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<DeptVO> vo = new ArrayList();
//사용자 정보를 가져온다.
NlibLoginVO loginVO = getNlibLoginVO(authentication);
searchCollectionVO.setMbInfoId(loginVO.getMbInfoId());
//문화원 목록 조회
vo = interestService.selectOrgList(searchCollectionVO);
model.addAttribute("pdfUri",NlibProperty.getProperty("pdf.uri"));
List<DeptVO> 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<CollectionVO> 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<String> masterIdList,Authentication authentication) {
NlibLoginVO loginVO = getNlibLoginVO(authentication);
String message="";
if(loginVO.getMbInfoId() == null)
{
message="로그인 후 이용하실 수 있습니다.";
public String deleteInterests(HttpServletRequest request, @RequestParam(value="masterIdList[]") List<String> 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;
}

View File

@ -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);

View File

@ -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<String, String> 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<MultiValueMap<String,String>> rest_request = new HttpEntity<>(parameters,headers);
URI uri = URI.create("https://www.googleapis.com/oauth2/v4/token");
ResponseEntity<String> 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<GoogleOAuthResponse>() {
});
// 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<String, String> userInfo = mapper.readValue(resultJson, new TypeReference<Map<String, String>>() {
});
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");

View File

@ -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";
}

View File

@ -276,7 +276,7 @@ function goList(){
<h3><span>목차</span>정보</h3>
<button type="button" class="down-btn">down-btn</button>
</div>
<div class="bottom h-down">
<div class="bottom h-down" style="white-space: pre-wrap;">
<p><c:if test="${empty result.bookIndex }">없음</c:if><c:out value="${result.bookIndex }"/></p>
</div>
</div>

View File

@ -47,7 +47,7 @@ function goPutMyInfo(){
}
</script>
<form id="pwInputForm" name="pwInputForm" method="POST">
<input type="hidden" name="mbInfoId" value="${loginVO.mbInfoId }" >
<input type="hidden" name="mbInfoId" value="${loginVO.mbInfoId }" >
<!-- 내 정보 패스워드 섹션 -->
<div class="location passwd">
<h2 class="blind">내 정보 패스워드 섹션영역</h2>

View File

@ -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 모두 맵핑