Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
ed8363569d
@ -24,7 +24,7 @@ public class EmailSender {
|
||||
helper.setText(email.getContent(), true); //***HTML 적용
|
||||
helper.setTo(email.getReciver());
|
||||
helper.setSubject(email.getSubject());
|
||||
helper.setFrom("siasia0824@gmail.com","한국문화원연합회");
|
||||
helper.setFrom("teachteam02@gmail.com","한국문화원연합회");
|
||||
|
||||
/* msg.setSubject(email.getSubject());
|
||||
msg.setText(email.getContent(),"text/html");
|
||||
|
||||
@ -57,10 +57,6 @@ public interface MemberService
|
||||
|
||||
public List<NlibLoginVO> selectAlreadySignUpMobile(NlibLoginVO loginVO) throws Exception;
|
||||
|
||||
public void insertMemberSite(MemberSiteVO msVO);
|
||||
|
||||
public int selectMemberSiteCount(MemberSiteVO msVO);
|
||||
|
||||
public int selectSnsIdCount(OAuthUniversalUser oauthUser);
|
||||
|
||||
public void deleteMembership(NlibLoginVO loginVO) throws Exception;;
|
||||
|
||||
@ -1,101 +0,0 @@
|
||||
package nlib.user.service;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Base64;
|
||||
|
||||
import nlib.cmm.NlibCommonController;
|
||||
import nlib.util.StringUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : MemberSiteVO.java
|
||||
*
|
||||
* @Description : 가입문화원정보
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 9. 02. JSYOO 최초 생성
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP JSYOO
|
||||
* @since 2021. 7. 12.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
public class MemberSiteVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -8274004534207618049L;
|
||||
|
||||
/* MB_SITE : 가입문화원 정보 */
|
||||
private String mbSiteId; /* 회원인덱스 */
|
||||
private String mbInfoId; /* 회원아이디 (ex: M1000000001) */
|
||||
private String joinType; /* 가입유형 SNS 및 로그인을 연계하는 포털시스템 아이디(naver, daum 등) */
|
||||
private String joinAgreeDd; /* 가입동의일자 */
|
||||
private String joinCouncilCd; /* 가입문화원코드 */
|
||||
private String joinCouncilNm; /* 가입문화원명 */
|
||||
private String masterYn; /* 대표여부 */
|
||||
private String ipNotUse; /* 접속아이피 */
|
||||
private String lastAccessDdNotUse; /* 마지막접근일자 */
|
||||
//----------------------------------------------------------------
|
||||
// SETTER.GETTER
|
||||
//----------------------------------------------------------------
|
||||
public String getMbSiteId() {
|
||||
return mbSiteId;
|
||||
}
|
||||
public void setMbSiteId(String mbSiteId) {
|
||||
this.mbSiteId = mbSiteId;
|
||||
}
|
||||
public String getMbInfoId() {
|
||||
return mbInfoId;
|
||||
}
|
||||
public void setMbInfoId(String mbInfoId) {
|
||||
this.mbInfoId = mbInfoId;
|
||||
}
|
||||
public String getJoinType() {
|
||||
return joinType;
|
||||
}
|
||||
public void setJoinType(String joinType) {
|
||||
this.joinType = joinType;
|
||||
}
|
||||
public String getJoinAgreeDd() {
|
||||
return joinAgreeDd;
|
||||
}
|
||||
public void setJoinAgreeDd(String joinAgreeDd) {
|
||||
this.joinAgreeDd = joinAgreeDd;
|
||||
}
|
||||
public String getJoinCouncilCd() {
|
||||
return joinCouncilCd;
|
||||
}
|
||||
public void setJoinCouncilCd(String joinCouncilCd) {
|
||||
this.joinCouncilCd = joinCouncilCd;
|
||||
}
|
||||
public String getMasterYn() {
|
||||
return masterYn;
|
||||
}
|
||||
public void setMasterYn(String masterYn) {
|
||||
this.masterYn = masterYn;
|
||||
}
|
||||
public String getIpNotUse() {
|
||||
return ipNotUse;
|
||||
}
|
||||
public void setIpNotUse(String ipNotUse) {
|
||||
this.ipNotUse = ipNotUse;
|
||||
}
|
||||
public String getLastAccessDdNotUse() {
|
||||
return lastAccessDdNotUse;
|
||||
}
|
||||
public void setLastAccessDdNotUse(String lastAccessDdNotUse) {
|
||||
this.lastAccessDdNotUse = lastAccessDdNotUse;
|
||||
}
|
||||
public String getJoinCouncilNm() {
|
||||
return joinCouncilNm;
|
||||
}
|
||||
public void setJoinCouncilNm(String joinCouncilNm) {
|
||||
this.joinCouncilNm = joinCouncilNm;
|
||||
}
|
||||
}
|
||||
@ -41,8 +41,6 @@ public class NlibLoginVO implements Serializable {
|
||||
private String mobileNo; /* 휴대전화번호 */
|
||||
private String password; /* 비밀번호 */
|
||||
private String email; /* 이메일 */
|
||||
private String emailVrfctNo = null; /* 이메일 인증번호 */
|
||||
private String emailVrfctDd = null; /* 이메일 인증번호 발송일자 */
|
||||
private String gender; /* 성별(M:남자,F:여자) */
|
||||
private String zipCode; /* 우편번호 */
|
||||
private String address; /* 주소 */
|
||||
@ -75,6 +73,11 @@ public class NlibLoginVO implements Serializable {
|
||||
private String error = null; /* 처리 오류코드 */
|
||||
private String message = null; /* 처리 관련 메시지 */
|
||||
|
||||
private String emailTemp = ""; /* 이메일 수정시 임시저장 변수 */
|
||||
private String emailVrfctNo = null; /* 이메일 인증번호 */
|
||||
private String emailVrfctDd = null; /* 이메일 인증번호 발송일자 */
|
||||
|
||||
private String mobileTemp = ""; /* 휴대전화번호 변경시 임시저장 변수 */
|
||||
private String mobileVrfctNo = null; /* 본인확인 인증번호 */
|
||||
private String mobileVrfctDd = null; /* 본인확인 인증번호 발송일자 */
|
||||
|
||||
@ -400,5 +403,21 @@ public class NlibLoginVO implements Serializable {
|
||||
public void setAlerted(boolean alerted) {
|
||||
this.alerted = alerted;
|
||||
}
|
||||
|
||||
public String getMobileTemp() {
|
||||
return mobileTemp;
|
||||
}
|
||||
|
||||
public void setMobileTemp(String mobileTemp) {
|
||||
this.mobileTemp = mobileTemp;
|
||||
}
|
||||
|
||||
public String getEmailTemp() {
|
||||
return emailTemp;
|
||||
}
|
||||
|
||||
public void setEmailTemp(String emailTemp) {
|
||||
this.emailTemp = emailTemp;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -38,12 +38,6 @@ public interface UserInfoService
|
||||
*/
|
||||
public void updateMyInfo(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/** 가입문화원 리스트를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<MemberSiteVO> selectCenterSignUpList(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/** SNS연동을 해지한다.
|
||||
* @param oAuthVO
|
||||
@ -51,12 +45,6 @@ public interface UserInfoService
|
||||
*/
|
||||
public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception;
|
||||
|
||||
/** 문화원 가입을 해지한다.
|
||||
* @param siteVO
|
||||
* @throws Exception
|
||||
*/
|
||||
public void deleteCenterLink(MemberSiteVO siteVO) throws Exception;
|
||||
|
||||
/** 사용자의 정보를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
|
||||
@ -10,7 +10,6 @@ import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
import nlib.restful.service.DataApiReqVO;
|
||||
import nlib.restful.service.DataApiResVO;
|
||||
import nlib.user.service.MemberSiteVO;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
|
||||
@Mapper("memberDAO")
|
||||
@ -42,10 +41,6 @@ public interface MemberDAO
|
||||
|
||||
public List<NlibLoginVO> selectAlreadySignUpMobile(NlibLoginVO loginVO) throws Exception;
|
||||
|
||||
public void insertMemberSite(MemberSiteVO msVO);
|
||||
|
||||
public int selectMemberSiteCount(MemberSiteVO msVO);
|
||||
|
||||
public int selectSnsIdCount(OAuthUniversalUser oauthUser);
|
||||
|
||||
public void deleteMembership(NlibLoginVO loginVO) throws Exception;
|
||||
|
||||
@ -17,7 +17,6 @@ import nlib.cmm.crypto.AriaCrypto;
|
||||
import nlib.restful.service.DataApiReqVO;
|
||||
import nlib.restful.service.DataApiResVO;
|
||||
import nlib.user.service.MemberService;
|
||||
import nlib.user.service.MemberSiteVO;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
import nlib.util.StringUtil;
|
||||
|
||||
@ -227,14 +226,6 @@ public class MemberServiceImpl implements MemberService
|
||||
return memberDAO.selectAlreadySignUpMobile(loginVO);
|
||||
}
|
||||
|
||||
public void insertMemberSite(MemberSiteVO msVO) {
|
||||
memberDAO.insertMemberSite(msVO);
|
||||
}
|
||||
|
||||
public int selectMemberSiteCount(MemberSiteVO msVO) {
|
||||
return memberDAO.selectMemberSiteCount(msVO);
|
||||
}
|
||||
|
||||
public int selectSnsIdCount(OAuthUniversalUser oauthUser) {
|
||||
return memberDAO.selectSnsIdCount(oauthUser);
|
||||
}
|
||||
|
||||
@ -4,7 +4,6 @@ import java.util.List;
|
||||
|
||||
import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
import nlib.user.service.MemberSiteVO;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
|
||||
/**
|
||||
@ -46,22 +45,11 @@ public interface UserInfoDAO
|
||||
*/
|
||||
public void updateMyInfo(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/** 가입문화원 리스트를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
public List<MemberSiteVO> selectCenterSignUpList(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/** SNS연동을 해지한다.
|
||||
* @param oAuthVO
|
||||
*/
|
||||
public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception;
|
||||
|
||||
/** 문화원가입을 해지한다.
|
||||
* @param siteVO
|
||||
*/
|
||||
public void deleteCenterLink(MemberSiteVO siteVO) throws Exception;
|
||||
|
||||
/** 사용자의 정보를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
|
||||
@ -10,7 +10,6 @@ import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||
import egovframework.rte.fdl.cryptography.EgovPasswordEncoder;
|
||||
import nlib.cmm.crypto.AriaCrypto;
|
||||
import nlib.user.service.MemberService;
|
||||
import nlib.user.service.MemberSiteVO;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
import nlib.user.service.UserInfoService;
|
||||
|
||||
@ -67,14 +66,6 @@ public class UserInfoServiceImpl implements UserInfoService
|
||||
userInfoDAO.updateMyInfo(vo);
|
||||
}
|
||||
|
||||
/* 가입문화원 리스트를 조회한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#selectCenterSignUpList(nlib.user.service.NlibLoginVO)
|
||||
*/
|
||||
public List<MemberSiteVO> selectCenterSignUpList(NlibLoginVO vo) throws Exception {
|
||||
return userInfoDAO.selectCenterSignUpList(vo);
|
||||
}
|
||||
|
||||
/* SNS연동을 해지한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#deleteSnsLink(egovframework.com.ext.oauth.service.OAuthUniversalUser)
|
||||
@ -82,13 +73,6 @@ public class UserInfoServiceImpl implements UserInfoService
|
||||
public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception {
|
||||
userInfoDAO.deleteSnsLink(oAuthVO);
|
||||
}
|
||||
/* 문화원 가입을 해지한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#deleteCenterLink(nlib.user.service.MemberSiteVO)
|
||||
*/
|
||||
public void deleteCenterLink(MemberSiteVO siteVO) throws Exception {
|
||||
userInfoDAO.deleteCenterLink(siteVO);
|
||||
}
|
||||
/* 사용자의 정보를 조회한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#selectMyInfo(nlib.user.service.NlibLoginVO)
|
||||
|
||||
@ -44,6 +44,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
import org.springframework.web.servlet.support.RequestContextUtils;
|
||||
@ -74,7 +75,6 @@ import nlib.restful.service.DataApiReqVO;
|
||||
import nlib.user.service.LoginService;
|
||||
import nlib.user.service.MemberService;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
import nlib.user.service.MemberSiteVO;
|
||||
import nlib.user.service.UserInfoService;
|
||||
import nlib.util.StringUtil;
|
||||
|
||||
@ -135,6 +135,9 @@ public class MemberController extends NlibCommonController{
|
||||
@Resource(name = "egovEnvPasswordEncoderService")
|
||||
EgovPasswordEncoder egovPasswordEncoder;
|
||||
|
||||
@Resource(name = "ariaCrypto")
|
||||
private AriaCrypto ariaCrypto;
|
||||
|
||||
@Autowired
|
||||
private EmailSender emailSender;
|
||||
|
||||
@ -251,7 +254,6 @@ public class MemberController extends NlibCommonController{
|
||||
*/
|
||||
@RequestMapping(value="/member/insertMemberInfoForm.do")
|
||||
public String insertMemberInfoForm(HttpServletRequest request,NlibLoginVO vo,HttpSession session,ModelMap model ) throws Exception{
|
||||
MemberSiteVO msVO= new MemberSiteVO();
|
||||
int siteCnt;
|
||||
String jsessionId = session.getId();
|
||||
String councilCd = (String)session.getAttribute("councilCd");
|
||||
@ -271,17 +273,6 @@ public class MemberController extends NlibCommonController{
|
||||
oauthUser.setMbInfoId(mId);
|
||||
memberService.insertMemberSns(oauthUser);
|
||||
|
||||
//가입문화원정보 설정
|
||||
msVO.setMbInfoId(mId);
|
||||
msVO.setJoinType(oauthUser.getSnsType());
|
||||
msVO.setJoinCouncilCd(councilCd);
|
||||
msVO.setMasterYn("N");
|
||||
siteCnt= memberService.selectMemberSiteCount(msVO);
|
||||
//문화원에 가입하지않았을 시 insert
|
||||
if(!(siteCnt>0))
|
||||
{
|
||||
memberService.insertMemberSite(msVO);
|
||||
}
|
||||
//통합처리 url
|
||||
return "nlib/member/accountConsolidationForm";
|
||||
}
|
||||
@ -298,11 +289,13 @@ public class MemberController extends NlibCommonController{
|
||||
List<NlibLoginVO> voList = new ArrayList<NlibLoginVO>();
|
||||
// 등록된 전화번호가 있는 지 확인 (리스트)
|
||||
voList = memberService.selectAlreadySignUpMobile(vo);
|
||||
|
||||
|
||||
vo.decodePrivateInfo();
|
||||
|
||||
//사용자ID 마스킹처리
|
||||
for(int i=0;voList.size()>i;i++)
|
||||
{
|
||||
voList.get(i).setLoginUserId(maskingEmail(voList.get(i).getLoginUserId()));
|
||||
voList.get(i).setEmail(maskingEmail(ariaCrypto.decode(voList.get(i).getEmail())));
|
||||
voList.get(i).setName(maskingName(voList.get(i).getName()));
|
||||
}
|
||||
|
||||
@ -374,7 +367,7 @@ public class MemberController extends NlibCommonController{
|
||||
loginVO.setJoinCouncilCd(getCurCouncilCd(request));
|
||||
|
||||
loginVO = loginService.selectLoginUserInfo(loginVO);
|
||||
loginVO.setLoginUserId(maskingEmail(loginVO.getLoginUserId()));
|
||||
loginVO.setEmail(maskingEmail(loginVO.getEmail()));
|
||||
loginVO.setName(maskingName(loginVO.getName()));
|
||||
|
||||
model.addAttribute("result",loginVO);
|
||||
@ -386,7 +379,6 @@ public class MemberController extends NlibCommonController{
|
||||
*/
|
||||
@RequestMapping(value="/member/insertMemberInfo.do")
|
||||
public String insertMemberInfo(NlibLoginVO vo,ModelMap model,HttpSession session,HttpServletRequest request) throws Exception{
|
||||
MemberSiteVO msVO= new MemberSiteVO();
|
||||
|
||||
EmailVO email = new EmailVO();
|
||||
|
||||
@ -410,7 +402,7 @@ public class MemberController extends NlibCommonController{
|
||||
//이메일인증시 sns제공 이메일과 회원가입폼 이메일 비교
|
||||
if(!(vo.getEmail().equals(oauthUser.getSnsUserId())))
|
||||
{
|
||||
if(!(vo.getEmailVrfctDd().equals(oauthUser.getNlibVO().getEmailVrfctDd()))
|
||||
if(!(vo.getEmailVrfctNo().equals(oauthUser.getNlibVO().getEmailVrfctNo()))
|
||||
||oauthUser.getNlibVO().getEmailVrfctDd() == null)
|
||||
{
|
||||
model.addAttribute("msg","이메일인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요.");
|
||||
@ -422,6 +414,9 @@ public class MemberController extends NlibCommonController{
|
||||
//문화원코드
|
||||
String councilCd = (String)session.getAttribute("councilCd");
|
||||
|
||||
//클라이언트 IP주소
|
||||
vo.setIp(getRemoteIP(request));
|
||||
|
||||
//회원정보 insert
|
||||
NlibLoginVO result =memberService.insertMemberInfo(vo);
|
||||
|
||||
@ -430,17 +425,6 @@ public class MemberController extends NlibCommonController{
|
||||
|
||||
memberService.insertMemberSns(oauthUser);
|
||||
|
||||
|
||||
//가입문화원정보 테이블 insert
|
||||
msVO.setMbInfoId(result.getMbInfoId());
|
||||
msVO.setJoinType(oauthUser.getSnsType());
|
||||
msVO.setJoinCouncilCd(councilCd);
|
||||
msVO.setMasterYn("Y");
|
||||
|
||||
memberService.insertMemberSite(msVO);
|
||||
|
||||
|
||||
|
||||
// 결과가 정상이면, 안내 메일 발송
|
||||
// > 템플릿파일에서 내용 mailing.sender.membership.template
|
||||
// > 치환 (사용자명, 이메일주소)
|
||||
@ -476,17 +460,30 @@ public class MemberController extends NlibCommonController{
|
||||
* @exception Exception
|
||||
*/
|
||||
@RequestMapping(value="/member/emailCertNum.ajax" , method=RequestMethod.POST)
|
||||
public @ResponseBody Map<String,String> emailCertNum(HttpServletResponse response,HttpServletRequest request,HttpSession session) throws Exception{
|
||||
public @ResponseBody Map<String,String> emailCertNum(HttpServletResponse response,Authentication authentication,HttpServletRequest request,HttpSession session) throws Exception{
|
||||
String email = request.getParameter("email");
|
||||
//회원가입페이지와 정보수정페이지의 프로세스 분기를위해 가져옴
|
||||
String pageName = request.getParameter("pageName");
|
||||
|
||||
Map<String,String> map = new HashMap<String,String>();
|
||||
|
||||
OAuthUniversalUser authUser= new OAuthUniversalUser();
|
||||
authUser.setSnsUserId(email);
|
||||
authUser.setSnsEmail(email);
|
||||
|
||||
//중복된 아이디가 있을시
|
||||
if(memberService.selectAlreadySignUpId(authUser) != null)
|
||||
String mbInfoId="";
|
||||
String chk= memberService.selectAlreadySignUpId(authUser);
|
||||
|
||||
String jsessionId = session.getId();
|
||||
|
||||
//사용자 정보를 가져온다. 회원가입페이지라면 null
|
||||
NlibLoginVO loginVO = getNlibLoginVO(authentication);
|
||||
mbInfoId= loginVO.getMbInfoId();
|
||||
|
||||
//중복된 아이디가 있을시(로그인시 본인의 mbInfoId 와 동일한경우는 제외)
|
||||
if(chk != null && !(chk.equals(mbInfoId)))
|
||||
{
|
||||
|
||||
map.put("msg","이미 사용중인 이메일입니다.");
|
||||
map.put("emailCertYn","N");
|
||||
return map;
|
||||
@ -497,19 +494,27 @@ public class MemberController extends NlibCommonController{
|
||||
//인증번호 생성
|
||||
String CertNumber=memberService.numberGen(6,1);
|
||||
System.out.println(CertNumber);
|
||||
//세션에 저장
|
||||
String jsessionId = session.getId();
|
||||
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||
|
||||
NlibLoginVO vo=oauthUser.getNlibVO();
|
||||
//이미 생성된 VO가 없을때
|
||||
if(vo==null)
|
||||
vo= new NlibLoginVO();
|
||||
vo.setEmail(email);
|
||||
vo.setEmailVrfctNo(CertNumber);
|
||||
oauthUser.setNlibVO(vo);
|
||||
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||
|
||||
//내 정보 페이지
|
||||
if("myInfo".equals(pageName))
|
||||
{
|
||||
loginVO.setEmailTemp(email);
|
||||
loginVO.setEmailVrfctNo(CertNumber);
|
||||
replaceNlibLoginVO(request, loginVO);
|
||||
}else
|
||||
{
|
||||
//세션에 저장
|
||||
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||
|
||||
NlibLoginVO vo=oauthUser.getNlibVO();
|
||||
//이미 생성된 VO가 없을때
|
||||
if(vo==null)
|
||||
vo= new NlibLoginVO();
|
||||
vo.setEmail(email);
|
||||
vo.setEmailVrfctNo(CertNumber);
|
||||
oauthUser.setNlibVO(vo);
|
||||
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||
}
|
||||
|
||||
//이메일 발송
|
||||
// 결과가 정상이면, 안내 메일 발송
|
||||
@ -532,7 +537,7 @@ public class MemberController extends NlibCommonController{
|
||||
for(String readLine : list) {
|
||||
contents+=readLine;
|
||||
}
|
||||
contents=contents.replace("${userName}",vo.getName()+"님의 인증번호는"+CertNumber+"입니다.");
|
||||
contents=contents.replace("${userName}","인증번호는"+CertNumber+"입니다.");
|
||||
|
||||
emailVO.setReciver(reciver);
|
||||
|
||||
@ -549,27 +554,49 @@ public class MemberController extends NlibCommonController{
|
||||
* @exception Exception
|
||||
*/
|
||||
@RequestMapping(value="/member/emailCertNumChk.ajax" , method=RequestMethod.POST)
|
||||
public @ResponseBody String emailCertNumChk(HttpServletResponse response,HttpServletRequest request,HttpSession session) throws Exception{
|
||||
public @ResponseBody String emailCertNumChk(HttpServletResponse response,Authentication authentication,HttpServletRequest request,HttpSession session) throws Exception{
|
||||
String email = request.getParameter("email");
|
||||
String emailVrfctNo = request.getParameter("emailVrfctNo");
|
||||
//회원가입페이지와 정보수정페이지의 프로세스 분기를위해 가져옴
|
||||
String pageName = request.getParameter("pageName");
|
||||
|
||||
SimpleDateFormat format = new SimpleDateFormat ( "yyyy년 MM월dd일 HH시mm분ss초");
|
||||
Date time = new Date();
|
||||
|
||||
//세션에 저장
|
||||
String jsessionId = session.getId();
|
||||
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||
|
||||
//핸드폰번호와 인증번호 확인
|
||||
if(oauthUser.getNlibVO().getEmail().equals(email) && oauthUser.getNlibVO().getEmailVrfctNo().equals(emailVrfctNo))
|
||||
//내 정보 페이지
|
||||
if("myInfo".equals(pageName))
|
||||
{
|
||||
Date time = new Date();
|
||||
NlibLoginVO sessionNlibLoginVO = oauthUser.getNlibVO();
|
||||
sessionNlibLoginVO.setEmailVrfctDd(format.format(time));
|
||||
oauthUser.setNlibVO(sessionNlibLoginVO);
|
||||
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||
return "true";
|
||||
}else {
|
||||
return "false";
|
||||
//사용자 정보를 가져온다. 회원가입페이지라면 null
|
||||
NlibLoginVO loginVO = getNlibLoginVO(authentication);
|
||||
|
||||
//이메일과 인증번호 확인
|
||||
if(loginVO.getEmailTemp().equals(email) && loginVO.getEmailVrfctNo().equals(emailVrfctNo))
|
||||
{
|
||||
loginVO.setEmailVrfctDd(format.format(time));
|
||||
replaceNlibLoginVO(request, loginVO);
|
||||
return "true";
|
||||
}else {
|
||||
return "false";
|
||||
}
|
||||
|
||||
}else
|
||||
{
|
||||
//세션에 저장
|
||||
String jsessionId = session.getId();
|
||||
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||
|
||||
//이메일과 인증번호 확인
|
||||
if(oauthUser.getNlibVO().getEmail().equals(email) && oauthUser.getNlibVO().getEmailVrfctNo().equals(emailVrfctNo))
|
||||
{
|
||||
|
||||
NlibLoginVO sessionNlibLoginVO = oauthUser.getNlibVO();
|
||||
sessionNlibLoginVO.setEmailVrfctDd(format.format(time));
|
||||
oauthUser.setNlibVO(sessionNlibLoginVO);
|
||||
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||
return "true";
|
||||
}else {
|
||||
return "false";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -578,26 +605,38 @@ public class MemberController extends NlibCommonController{
|
||||
* @exception Exception
|
||||
*/
|
||||
@RequestMapping(value="/member/mobileCertNum.ajax" , method=RequestMethod.POST)
|
||||
public @ResponseBody void phoneCertNum(HttpServletResponse response,HttpServletRequest request,HttpSession session) throws Exception{
|
||||
public @ResponseBody void phoneCertNum(HttpServletResponse response,Authentication authentication,HttpServletRequest request,HttpSession session) throws Exception{
|
||||
String mobileNo = request.getParameter("mobileNo");
|
||||
|
||||
//회원가입페이지와 정보수정페이지의 프로세스 분기를위해 가져옴
|
||||
String pageName = request.getParameter("pageName");
|
||||
//인증번호 생성
|
||||
String CertNumber=memberService.numberGen(6,1);
|
||||
System.out.println(CertNumber);
|
||||
//세션에 저장
|
||||
String jsessionId = session.getId();
|
||||
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||
|
||||
|
||||
NlibLoginVO vo=oauthUser.getNlibVO();
|
||||
//이미 생성된 VO가 없을때
|
||||
if(vo==null)
|
||||
vo= new NlibLoginVO();
|
||||
//내 정보 페이지
|
||||
if("myInfo".equals(pageName))
|
||||
{
|
||||
NlibLoginVO loginVO = getNlibLoginVO(authentication);
|
||||
loginVO.setMobileTemp(mobileNo);
|
||||
loginVO.setMobileVrfctNo(CertNumber);
|
||||
replaceNlibLoginVO(request, loginVO);
|
||||
}
|
||||
else {
|
||||
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||
NlibLoginVO vo=oauthUser.getNlibVO();
|
||||
//이미 생성된 VO가 없을때
|
||||
if(vo==null)
|
||||
vo= new NlibLoginVO();
|
||||
|
||||
vo.setMobileNo(mobileNo);
|
||||
vo.setMobileVrfctNo(CertNumber);
|
||||
oauthUser.setNlibVO(vo);
|
||||
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||
}
|
||||
|
||||
vo.setMobileNo(mobileNo);
|
||||
vo.setMobileVrfctNo(CertNumber);
|
||||
oauthUser.setNlibVO(vo);
|
||||
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||
|
||||
//문자발송 솔루션
|
||||
|
||||
@ -609,27 +648,47 @@ public class MemberController extends NlibCommonController{
|
||||
* @exception Exception
|
||||
*/
|
||||
@RequestMapping(value="/member/mobileCertNumChk.ajax" , method=RequestMethod.POST)
|
||||
public @ResponseBody String mobileCertNumChk(HttpServletResponse response,HttpServletRequest request,HttpSession session) throws Exception{
|
||||
public @ResponseBody String mobileCertNumChk(HttpServletResponse response,Authentication authentication,HttpServletRequest request,HttpSession session) throws Exception{
|
||||
String mobileNo = request.getParameter("mobileNo");
|
||||
String mobileVrfctNo = request.getParameter("mobileVrfctNo");
|
||||
//회원가입페이지와 정보수정페이지의 프로세스 분기를위해 가져옴
|
||||
String pageName = request.getParameter("pageName");
|
||||
|
||||
SimpleDateFormat format = new SimpleDateFormat ( "yyyy년 MM월dd일 HH시mm분ss초");
|
||||
|
||||
//세션에 저장
|
||||
String jsessionId = session.getId();
|
||||
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||
Date time = new Date();
|
||||
|
||||
//핸드폰번호와 인증번호 확인
|
||||
if(oauthUser.getNlibVO().getMobileNo().equals(mobileNo) && oauthUser.getNlibVO().getMobileVrfctNo().equals(mobileVrfctNo))
|
||||
//내 정보 페이지
|
||||
if("myInfo".equals(pageName))
|
||||
{
|
||||
Date time = new Date();
|
||||
NlibLoginVO sessionNlibLoginVO = oauthUser.getNlibVO();
|
||||
sessionNlibLoginVO.setMobileVrfctDd(format.format(time));
|
||||
oauthUser.setNlibVO(sessionNlibLoginVO);
|
||||
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||
return "true";
|
||||
//사용자 정보를 가져온다. 회원가입페이지라면 null
|
||||
NlibLoginVO loginVO = getNlibLoginVO(authentication);
|
||||
|
||||
//핸드폰번호와 인증번호 확인
|
||||
if(loginVO.getMobileTemp().equals(mobileNo) && loginVO.getMobileVrfctNo().equals(mobileVrfctNo))
|
||||
{
|
||||
loginVO.setMobileVrfctDd(format.format(time));
|
||||
replaceNlibLoginVO(request, loginVO);
|
||||
return "true";
|
||||
}else {
|
||||
return "false";
|
||||
}
|
||||
}else {
|
||||
return "false";
|
||||
//세션에 저장
|
||||
String jsessionId = session.getId();
|
||||
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||
|
||||
//핸드폰번호와 인증번호 확인
|
||||
if(oauthUser.getNlibVO().getMobileNo().equals(mobileNo) && oauthUser.getNlibVO().getMobileVrfctNo().equals(mobileVrfctNo))
|
||||
{
|
||||
NlibLoginVO sessionNlibLoginVO = oauthUser.getNlibVO();
|
||||
sessionNlibLoginVO.setMobileVrfctDd(format.format(time));
|
||||
oauthUser.setNlibVO(sessionNlibLoginVO);
|
||||
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||
return "true";
|
||||
}else {
|
||||
return "false";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -645,7 +704,7 @@ public class MemberController extends NlibCommonController{
|
||||
|
||||
loginVO = loginService.selectLoginUserInfo(loginVO);
|
||||
//이메일,이름 마스킹
|
||||
loginVO.setLoginUserId(maskingEmail(loginVO.getLoginUserId()));
|
||||
loginVO.setEmail(maskingEmail(loginVO.getEmail()));
|
||||
loginVO.setName(maskingName(loginVO.getName()));
|
||||
model.addAttribute("loginVO",loginVO);
|
||||
return "nlib/member/deleteMembershipForm";
|
||||
@ -702,6 +761,7 @@ public class MemberController extends NlibCommonController{
|
||||
*/
|
||||
@RequestMapping(value="/member/initPassword.ajax")
|
||||
public @ResponseBody String initPassword(NlibLoginVO vo,HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{
|
||||
vo.encodePrivateInfo();
|
||||
|
||||
NlibLoginVO loginVO=userInfoService.selectMyInfo(vo);
|
||||
|
||||
@ -714,10 +774,11 @@ public class MemberController extends NlibCommonController{
|
||||
|
||||
String encodedText=null;
|
||||
|
||||
//ID가 일치하는지 확인
|
||||
if(loginVO!=null && loginVO.getLoginUserId().equals(vo.getLoginUserId()))
|
||||
vo.decodePrivateInfo();
|
||||
|
||||
if(loginVO!=null)
|
||||
{
|
||||
String reciver = vo.getLoginUserId(); //받을사람의 이메일입니다.-> naver nate 등등
|
||||
String reciver = vo.getEmail(); //받을사람의 이메일입니다.-> naver nate 등등
|
||||
String subject = "온라인자료대출시스템 비밀번호 초기화 메일입니다.";
|
||||
|
||||
|
||||
@ -743,7 +804,7 @@ public class MemberController extends NlibCommonController{
|
||||
vo.setPassword(encodedText);
|
||||
|
||||
vo.setMbInfoId(gUserId);
|
||||
|
||||
vo.encodePrivateInfo();
|
||||
//암호화된 비밀번호로 수정
|
||||
memberService.changePassword(vo);
|
||||
|
||||
@ -785,7 +846,7 @@ public class MemberController extends NlibCommonController{
|
||||
if(loginVO!=null && (loginVO.getPassword().equals(password)))
|
||||
{
|
||||
loginVO.setPassword(newPassword);
|
||||
|
||||
loginVO.encodePrivateInfo();
|
||||
//암호화된 비밀번호로 수정
|
||||
memberService.changePassword(loginVO);
|
||||
message="비밀번호 변경이 처리되었습니다.";
|
||||
@ -889,4 +950,24 @@ public class MemberController extends NlibCommonController{
|
||||
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");
|
||||
|
||||
//proxy 환경일 경우
|
||||
if (ip == null || ip.length() == 0) {
|
||||
ip = request.getHeader("Proxy-Client-IP");
|
||||
}
|
||||
|
||||
//웹로직 서버일 경우
|
||||
if (ip == null || ip.length() == 0) {
|
||||
ip = request.getHeader("WL-Proxy-Client-IP");
|
||||
}
|
||||
|
||||
if (ip == null || ip.length() == 0) {
|
||||
ip = request.getRemoteAddr() ;
|
||||
}
|
||||
|
||||
return ip;
|
||||
}
|
||||
}
|
||||
@ -26,7 +26,6 @@ import nlib.security.SecUserDetailsService;
|
||||
import nlib.security.SecUserVO;
|
||||
import nlib.user.service.LoginService;
|
||||
import nlib.user.service.MemberService;
|
||||
import nlib.user.service.MemberSiteVO;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
import nlib.user.service.UserInfoService;
|
||||
import nlib.cmm.NlibCommonController;
|
||||
@ -94,14 +93,10 @@ public class UserInfoController extends NlibCommonController {
|
||||
|
||||
|
||||
List<OAuthUniversalUser> snsList = new ArrayList<OAuthUniversalUser>();
|
||||
List<MemberSiteVO> centerList = new ArrayList<MemberSiteVO>();
|
||||
|
||||
//sns연동 계정 리스트
|
||||
snsList = userInfoService.selectSnsSignUpList(loginVO);
|
||||
|
||||
//가입된 문화원 리스트
|
||||
centerList = userInfoService.selectCenterSignUpList(loginVO);
|
||||
|
||||
String encodedText=null;
|
||||
System.out.println(loginVO.getLoginUserId()+vo.getPassword());
|
||||
encodedText = egovPasswordEncoder.encryptPassword(loginVO.getLoginUserId()+vo.getPassword());
|
||||
@ -110,7 +105,6 @@ public class UserInfoController extends NlibCommonController {
|
||||
//암호화된 패스워드 비교
|
||||
if(loginVO.getPassword().equals(vo.getPassword())) {
|
||||
model.addAttribute("loginVO",loginVO);
|
||||
model.addAttribute("centerList",centerList);
|
||||
model.addAttribute("snsList",snsList);
|
||||
return "nlib/userInfo/putMyInfo";
|
||||
}else {
|
||||
@ -125,8 +119,36 @@ public class UserInfoController extends NlibCommonController {
|
||||
* @return
|
||||
* @exception Exception
|
||||
*/
|
||||
@RequestMapping(value="/userInfo/updateMyInfo.ajax" , method=RequestMethod.POST)
|
||||
public @ResponseBody void updateMyInfo(NlibLoginVO vo,HttpServletResponse response,HttpServletRequest request) throws Exception{
|
||||
@RequestMapping(value="/userInfo/updateMyInfo.do" , method=RequestMethod.POST)
|
||||
public String updateMyInfo(NlibLoginVO vo,Authentication authentication,HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{
|
||||
|
||||
//사용자 정보를 가져온다.
|
||||
NlibLoginVO loginVO = getNlibLoginVO(authentication);
|
||||
|
||||
//이메일인증 확인
|
||||
if(!(vo.getEmail().equals(loginVO.getEmail())))
|
||||
{
|
||||
if(!(vo.getEmailVrfctNo().equals(loginVO.getEmailVrfctNo()))
|
||||
||loginVO.getEmailVrfctDd() == null)
|
||||
{
|
||||
model.addAttribute("msg","이메일인증이 정상적이지않습니다.");
|
||||
model.addAttribute("url","${pageContext.request.contextPath}"+"/userInfo/getMyInfo.do");
|
||||
return "nlib/cmm/alert";
|
||||
}
|
||||
vo.setEmail(loginVO.getEmailTemp());
|
||||
}
|
||||
//핸드폰인증 확인
|
||||
if(!(vo.getMobileNo().equals(loginVO.getMobileNo())))
|
||||
{
|
||||
if(!(vo.getMobileVrfctNo().equals(loginVO.getMobileVrfctNo()))
|
||||
||loginVO.getMobileVrfctDd() == null)
|
||||
{
|
||||
model.addAttribute("msg","핸드폰인증이 정상적이지않습니다.");
|
||||
model.addAttribute("url","${pageContext.request.contextPath}"+"/userInfo/getMyInfo.do");
|
||||
return "nlib/cmm/alert";
|
||||
}
|
||||
vo.setMobileNo(loginVO.getMobileTemp());
|
||||
}
|
||||
|
||||
String encodedText=null;
|
||||
encodedText = egovPasswordEncoder.encryptPassword(vo.getPassword());
|
||||
@ -134,11 +156,12 @@ public class UserInfoController extends NlibCommonController {
|
||||
|
||||
// 내 정보 수정
|
||||
userInfoService.updateMyInfo(vo);
|
||||
NlibLoginVO loginVO=(NlibLoginVO) SecUserDetailsService.loadUserByUsername(vo.getLoginUserId());
|
||||
NlibLoginVO sessionVO=(NlibLoginVO) SecUserDetailsService.loadUserByUsername(vo.getLoginUserId());
|
||||
|
||||
//세션에 수정정보로 재 주입
|
||||
replaceNlibLoginVO(request,loginVO);
|
||||
replaceNlibLoginVO(request,sessionVO);
|
||||
|
||||
return "nlib/userInfo/getMyInfo";
|
||||
}
|
||||
|
||||
/**
|
||||
@ -165,16 +188,4 @@ public class UserInfoController extends NlibCommonController {
|
||||
userInfoService.deleteSnsLink(oAuthVO);
|
||||
|
||||
}
|
||||
/** 문화원 가입을 해지한다.
|
||||
* @param response
|
||||
* @param request
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value="/userInfo/deleteCenterLink.ajax")
|
||||
public @ResponseBody void deleteCenterLink(HttpServletResponse response,HttpServletRequest request) throws Exception{
|
||||
MemberSiteVO siteVO = new MemberSiteVO();
|
||||
siteVO.setMbSiteId(request.getParameter("mbSiteId"));
|
||||
userInfoService.deleteCenterLink(siteVO);
|
||||
}
|
||||
}
|
||||
@ -17,6 +17,8 @@
|
||||
<result column="ADDRESS" property="address"/>
|
||||
<result column="ADDRESS_DETAIL" property="addressDetail"/>
|
||||
<result column="JOIN_DATE" property="joinDate"/>
|
||||
<result column="IP" property="IP"/>
|
||||
<result column="LAST_ACCESS_DD" property="lastAccessDd"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 회원가입 -->
|
||||
@ -47,6 +49,8 @@
|
||||
,JOIN_DATE
|
||||
,MOBILE_VRFCT_NO
|
||||
,MOBILE_VRFCT_DD
|
||||
,IP
|
||||
,LAST_ACCESS_DD
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@ -68,7 +72,9 @@
|
||||
,'S'
|
||||
,DATE_FORMAT(CURDATE(), '%Y%m%d')
|
||||
,#{mobileVrfctNo}
|
||||
,STR_TO_DATE(#{mobileVrfctDd},'%Y-%m-%d %H:%i:%S')
|
||||
,STR_TO_DATE(#{mobileVrfctDd},'%Y-%m-%d %H:%i:%S')
|
||||
,#{ip}
|
||||
,NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
@ -81,7 +87,7 @@
|
||||
,MOD_ID = #{mbInfoId}
|
||||
,MOD_DD = NOW()
|
||||
WHERE 1=1
|
||||
AND LOGIN_USER_ID = #{loginUserId}
|
||||
AND EMAIL = #{email}
|
||||
|
||||
</update>
|
||||
<!-- 회원가입시 SNS인증한 계정 ID와 일치하는 계정이 있는지 체크 -->
|
||||
@ -163,40 +169,6 @@
|
||||
|
||||
</insert>
|
||||
|
||||
<!-- 회원가입시 가입문화원정보추가 , 기존 계정 ID와 일치시 통합처리시 추가-->
|
||||
<insert id="insertMemberSite" parameterType="nlib.user.service.MemberSiteVO">
|
||||
INSERT INTO
|
||||
MB_SITE
|
||||
(
|
||||
MB_INFO_ID
|
||||
,JOIN_TYPE
|
||||
,JOIN_AGREE_DD
|
||||
,JOIN_COUNCIL_CD
|
||||
,MASTER_YN
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{mbInfoId}
|
||||
,#{joinType}
|
||||
,NOW()
|
||||
,#{joinCouncilCd}
|
||||
,#{masterYn}
|
||||
);
|
||||
</insert>
|
||||
|
||||
|
||||
<!-- 이미 가입문화원인지 확인 -->
|
||||
<select id="selectMemberSiteCount" parameterType="nlib.user.service.MemberSiteVO" resultType="int">
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM
|
||||
MB_SITE
|
||||
WHERE 1=1
|
||||
AND MB_INFO_ID = #{mbInfoId}
|
||||
AND JOIN_COUNCIL_CD = #{joinCouncilCd}
|
||||
AND UNLINK_DD IS NULL;
|
||||
</select>
|
||||
|
||||
<!-- SnsId로 기가입자인지 판별 -->
|
||||
<select id="selectSnsIdCount" parameterType="egovframework.com.ext.oauth.service.OAuthUniversalUser" resultType="int">
|
||||
SELECT
|
||||
|
||||
@ -24,15 +24,6 @@
|
||||
<result column="SNS_USER_ID" property="snsUserId"/>
|
||||
<result column="REG_DD" property="regDd"/>
|
||||
</resultMap>
|
||||
<resultMap type="nlib.user.service.MemberSiteVO" id="MemberSiteVO">
|
||||
<result column="MB_SITE_ID" property="mbSiteId"/>
|
||||
<result column="MB_INFO_ID" property="mbInfoId"/>
|
||||
<result column="JOIN_TYPE" property="joinType"/>
|
||||
<result column="JOIN_AGREE_DD" property="joinAgreeDd"/>
|
||||
<result column="JOIN_COUNCIL_CD" property="joinCouncilCd"/>
|
||||
<result column="JOIN_COUNCIL_NM" property="joinCouncilNm"/>
|
||||
<result column="MASTER_YN" property="masterYn"/>
|
||||
</resultMap>
|
||||
<!-- sns계정 리스트 -->
|
||||
<select id="selectSnsSignUpList" parameterType="nlib.user.service.NlibLoginVO" resultMap="OAuthUniversalUser">
|
||||
SELECT
|
||||
@ -60,14 +51,18 @@
|
||||
MB_INFO
|
||||
WHERE 1=1
|
||||
<if test='mbInfoId != null and mbInfoId != ""'>
|
||||
AND MB_INFO_ID = #{mbInfoId};
|
||||
AND MB_INFO_ID = #{mbInfoId}
|
||||
</if>
|
||||
<if test='mobileNo != null and mobileNo != ""'>
|
||||
AND MOBILE_NO = #{mobileNo};
|
||||
AND MOBILE_NO = #{mobileNo}
|
||||
</if>
|
||||
<if test='loginUserId != null and loginUserId != ""'>
|
||||
AND LOGIN_USER_ID = #{loginUserId};
|
||||
AND LOGIN_USER_ID = #{loginUserId}
|
||||
</if>
|
||||
<if test='email != null and email != ""'>
|
||||
AND EMAIL = #{email}
|
||||
</if>
|
||||
LIMIT 1;
|
||||
</select>
|
||||
|
||||
<!-- 내 정보 수정 -->
|
||||
@ -81,6 +76,7 @@
|
||||
,MOBILE_NO=#{mobileNo}
|
||||
,ZIP_CODE=#{zipCode}
|
||||
,ADDRESS=#{address}
|
||||
,EMAIL=#{email}
|
||||
,ADDRESS_DETAIL=#{addressDetail}
|
||||
,GENDER=#{gender}
|
||||
,MOD_ID=#{mbInfoId}
|
||||
@ -89,26 +85,6 @@
|
||||
AND MB_INFO_ID=#{mbInfoId}
|
||||
</update>
|
||||
|
||||
<!-- 가입문화원 리스트를 조회한다. -->
|
||||
<select id="selectCenterSignUpList" parameterType="nlib.user.service.NlibLoginVO" resultMap="MemberSiteVO">
|
||||
SELECT
|
||||
mb.MB_SITE_ID
|
||||
,mb.MB_INFO_ID
|
||||
,mb.JOIN_TYPE
|
||||
,mb.JOIN_AGREE_DD
|
||||
,mb.JOIN_COUNCIL_CD
|
||||
,sm.DEPT_NM JOIN_COUNCIL_NM
|
||||
,mb.MASTER_YN
|
||||
FROM
|
||||
MB_SITE mb
|
||||
LEFT OUTER JOIN
|
||||
SM_DEPT sm
|
||||
ON sm.ORG_CD = mb.JOIN_COUNCIL_CD
|
||||
WHERE 1=1
|
||||
AND MB_INFO_ID = #{mbInfoId}
|
||||
AND UNLINK_DD IS NULL
|
||||
ORDER BY mb.MB_SITE_ID
|
||||
</select>
|
||||
<!-- SNS연동을 해지한다. -->
|
||||
<update id="deleteSnsLink" parameterType="egovframework.com.ext.oauth.service.OAuthUniversalUser">
|
||||
UPDATE
|
||||
@ -123,19 +99,5 @@
|
||||
AND MB_INFO_ID = #{mbInfoId};
|
||||
</if>
|
||||
</update>
|
||||
<!-- 문화원의 가입을 해지한다. -->
|
||||
<update id="deleteCenterLink" parameterType="nlib.user.service.MemberSiteVO">
|
||||
UPDATE
|
||||
MB_SITE
|
||||
SET
|
||||
UNLINK_DD=NOW()
|
||||
WHERE 1=1
|
||||
<if test="mbSiteId != null">
|
||||
AND MB_SITE_ID = #{mbSiteId};
|
||||
</if>
|
||||
<if test="mbInfoId != null">
|
||||
AND MB_INFO_ID = #{mbInfoId};
|
||||
</if>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@ -8,8 +8,8 @@
|
||||
p:host="smtp.gmail.com"
|
||||
p:port="587"
|
||||
p:protocol="smtp"
|
||||
p:username="siasia0824@gmail.com"
|
||||
p:password="whdtjs!234">
|
||||
p:username="teachteam02@gmail.com"
|
||||
p:password="wltlrtkdjq11$$">
|
||||
<property name="javaMailProperties">
|
||||
<props>
|
||||
<prop key="mail.smtp.starttls.enable">true</prop>
|
||||
|
||||
@ -24,12 +24,12 @@ $(document).ready(function(){
|
||||
}
|
||||
});
|
||||
|
||||
function selectAccount(mbInfoId,name,loginUserId)
|
||||
function selectAccount(mbInfoId,name,Email)
|
||||
{
|
||||
$("#alreadySingUpForm").css("display","none");
|
||||
$("#mbInfoId").val(mbInfoId);
|
||||
$("#selectName").val(name);
|
||||
$("#selectLoginUserId").val(loginUserId);
|
||||
$("#selectEmail").val(Email);
|
||||
$("#selectAccountForm").css("display","block");
|
||||
}
|
||||
function goPrevious()
|
||||
@ -80,9 +80,9 @@ function accountLink()
|
||||
<table>
|
||||
<c:forEach items="${result}" var="result" varStatus="status">
|
||||
|
||||
<tr onClick="selectAccount('<c:out value="${result.mbInfoId}"/>','<c:out value="${result.name}"/>','<c:out value="${result.loginUserId}"/>');">
|
||||
<tr onClick="selectAccount('<c:out value="${result.mbInfoId}"/>','<c:out value="${result.name}"/>','<c:out value="${result.email}"/>');">
|
||||
<td><c:out value="${result.name}"/></td>
|
||||
<td><c:out value="${result.loginUserId}"/></td>
|
||||
<td><c:out value="${result.email}"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
@ -91,7 +91,7 @@ function accountLink()
|
||||
<form id="selectAccountForm" name="selectAccountForm" style="display:none;">
|
||||
<p1>비밀번호 입력</p1>
|
||||
<div id="accountInfo">
|
||||
<input type="text" id="selectName" name="selectName" readonly><input type="text" id="selectLoginUserId" name="selectLoginUserId" readonly>
|
||||
<input type="text" id="selectName" name="selectName" readonly><input type="text" id="selectEmail" name="selectEmail" readonly>
|
||||
</div>
|
||||
<input type="password" id="selectPassword" name="selectPassword" placeholder="비밀번호"><br>
|
||||
<a href="javascript:notAlreadySingUp();" onclick="return false;">비밀번호를 잊으셨나요?</a>
|
||||
|
||||
@ -61,7 +61,7 @@ function deleteMembership()
|
||||
<form id="deleteMembershipForm" name="deleteMembershipForm">
|
||||
<p1>회원탈퇴</p1><br>
|
||||
이름 : <c:out value="${loginVO.name }"/><br>
|
||||
이메일 : <c:out value="${loginVO.loginUserId }"/><br>
|
||||
이메일 : <c:out value="${loginVO.email }"/><br>
|
||||
<input type="password" id="password" name="password" placeholder="비밀번호"><br>
|
||||
<input type="button" onclick="deleteMembership();" value="탈퇴하기"><input type="button" onclick="location.href='${pageContext.request.contextPath}/userInfo/putMyInfo.do'" value="취소">
|
||||
</form>
|
||||
|
||||
@ -60,7 +60,7 @@ function goFindPw(){
|
||||
<form id="initPw" name="initPw" method="post">
|
||||
<h1>비밀번호 찾기</h1>
|
||||
<p>회원님의 본인확인을 위해 가입시 등록하신 이메일을 입력하여 주시기 바랍니다.</p><br>
|
||||
Email <input type="text" id="loginUserId" name="loginUserId">
|
||||
Email <input type="text" id="email" name="email">
|
||||
<input type="button" onclick ="goFindPw();" value="임시비밀번호 받기">
|
||||
</form>
|
||||
</body>
|
||||
|
||||
@ -58,7 +58,7 @@ function signUp(){
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#zipCode").val()=="" || $("#address").val()=="" || $("#addressDetail").val()=="")
|
||||
if($("#zipCode").val()=="" || $("#address").val()=="")
|
||||
{
|
||||
alert("주소를 입력해주세요.");
|
||||
return false;
|
||||
@ -74,7 +74,7 @@ function signUp(){
|
||||
<%
|
||||
//연락받을 이메일 입력
|
||||
%>
|
||||
$("#email").val($("#loginUserId").val());
|
||||
$("#loginUserId").val($("#email").val());
|
||||
document.joinForm.action="/nlib/member/insertMemberInfo.do";
|
||||
return true;
|
||||
}else{
|
||||
@ -121,8 +121,8 @@ $(document).ready(function() {
|
||||
<%
|
||||
//아이디가 변하는것 실시간 감지
|
||||
%>
|
||||
$("#loginUserId").on("propertychange change keyup paste input", function() {
|
||||
if($("#snsUserId").val() == $("#loginUserId").val())
|
||||
$("#email").on("propertychange change keyup paste input", function() {
|
||||
if($("#snsUserId").val() == $("#email").val())
|
||||
{
|
||||
$("#emailCertYn").val("Y");
|
||||
$("#emailCertSendBtn").css("display","none");
|
||||
@ -142,7 +142,7 @@ function emailCert(){
|
||||
|
||||
var regExp = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
|
||||
|
||||
if(!regExp.test($("#loginUserId").val()) || $("#loginUserId").val()==""){
|
||||
if(!regExp.test($("#email").val()) || $("#email").val()==""){
|
||||
|
||||
alert("형식에 맞지 않는 이메일입니다.");
|
||||
return false;
|
||||
@ -152,13 +152,13 @@ function emailCert(){
|
||||
url : "/nlib/member/emailCertNum.ajax",
|
||||
type : "POST",
|
||||
async: false,
|
||||
data : {"email" : $("#loginUserId").val()},
|
||||
data : {"email" : $("#email").val()},
|
||||
success : function(result){
|
||||
alert(result.msg);
|
||||
|
||||
if(result.emailCertYn=="Y")
|
||||
{
|
||||
$("#emailCertYn").val("Y");
|
||||
$("#emailCertYn").val("N");
|
||||
$("#emailCertForm").css("display","block")
|
||||
}
|
||||
if(result.emailCertYn=="N")
|
||||
@ -182,7 +182,7 @@ function certEmailCheck(){
|
||||
url : "/nlib/member/emailCertNumChk.ajax",
|
||||
type : "POST",
|
||||
data : {"emailVrfctNo" : $("#emailVrfctNo").val(),
|
||||
"email" : $("#loginUserId").val()},
|
||||
"email" : $("#email").val()},
|
||||
async: false,
|
||||
success : function(result){
|
||||
if(result=="true")
|
||||
@ -427,9 +427,9 @@ label.error {
|
||||
<form id="joinForm" name="joinForm" method="post" onsubmit="return signUp()">
|
||||
<table>
|
||||
<tr>
|
||||
<td id="title">아이디</td>
|
||||
<td id="title">이메일</td>
|
||||
<td>
|
||||
<input type="email" id="loginUserId" name="loginUserId" maxlength="30" required value="<c:out value="${loginVO.snsUserId}"/>" ><button type="button" id="emailCertSendBtn" name="emailCertSendBtn" style="text-align:left;display:none;" class="btn-warning" onclick="emailCert()" required>인증번호 받기</button>
|
||||
<input type="email" id="email" name="email" maxlength="30" required value="<c:out value="${loginVO.snsUserId}"/>" ><button type="button" id="emailCertSendBtn" name="emailCertSendBtn" style="text-align:left;display:none;" class="btn-warning" onclick="emailCert()" required>인증번호 받기</button>
|
||||
<div id="emailCertForm" style="display:none;"><br><input type='text' id='emailVrfctNo' name='emailVrfctNo'> <button type='button' style='text-align:left;' class='btn-warning' onclick='certEmailCheck()' >인증번호 확인</button></div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -505,7 +505,7 @@ label.error {
|
||||
<input type="hidden" id="birthday" name="birthday" >
|
||||
<input type="hidden" id="mobileCertYn" name="mobileCertYn" value="Y">
|
||||
<input type="hidden" id="emailCertYn" name="emailCertYn" value="Y">
|
||||
<input type="hidden" id="email" name="email" >
|
||||
<input type="hidden" id="loginUserId" name="loginUserId" >
|
||||
<input type="hidden" id="snsMobileNo" name="snsMobileNo" value="<c:out value="${loginVO.snsMobileNo}"/>">
|
||||
<input type="hidden" id="snsUserId" name="snsUserId" value="<c:out value="${loginVO.snsUserId}"/>">
|
||||
|
||||
|
||||
@ -61,7 +61,7 @@ $(document).ready(function() {
|
||||
//핸드폰 번호가 변하는것 실시간 감지
|
||||
%>
|
||||
$("#mobileNo").on("propertychange change keyup paste input", function() {
|
||||
if($("#snsMobileNo").val() == $("#mobileNo").val())
|
||||
if($("#userMobileNo").val() == $("#mobileNo").val())
|
||||
{
|
||||
$("#mobileCertYn").val("Y");
|
||||
$("#mobileCertSendBtn").css("display","none");
|
||||
@ -71,6 +71,21 @@ $(document).ready(function() {
|
||||
$("#mobileCertSendBtn").css("display","block");
|
||||
}
|
||||
});
|
||||
<%
|
||||
//아이디가 변하는것 실시간 감지
|
||||
%>
|
||||
$("#email").on("propertychange change keyup paste input", function() {
|
||||
if($("#userEmail").val() == $("#email").val())
|
||||
{
|
||||
$("#emailCertYn").val("Y");
|
||||
$("#emailCertSendBtn").css("display","none");
|
||||
$("#emailCertForm").css("display","none");
|
||||
|
||||
}else{
|
||||
$("#emailCertYn").val("N");
|
||||
$("#emailCertSendBtn").css("display","block");
|
||||
}
|
||||
});
|
||||
|
||||
$("input:radio[name='gender']:radio[value='${loginVO.gender}']").prop("checked",true);
|
||||
|
||||
@ -82,6 +97,12 @@ $(document).ready(function() {
|
||||
})
|
||||
|
||||
function update(){
|
||||
if($("#emailCertYn").val()!="Y")
|
||||
{
|
||||
alert("이메일 인증이 필요합니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!checkBirthday())
|
||||
{
|
||||
alert("생년월일이 형식에 맞지 않습니다. 확인해주세요.");
|
||||
@ -93,7 +114,7 @@ function update(){
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#zipCode").val()=="" || $("#address").val()=="" || $("#addressDetail").val()=="")
|
||||
if($("#zipCode").val()=="" || $("#address").val()=="")
|
||||
{
|
||||
alert("주소를 입력해주세요.");
|
||||
return false;
|
||||
@ -102,22 +123,7 @@ function update(){
|
||||
if(confirm("정보를 수정하시겠습니까?")){
|
||||
$("#birthday").val($("#birth_yy").val()+$("#birth_mm").val()+$("#birth_dd").val());
|
||||
|
||||
var queryString = $("form[name=updateForm]").serialize() ;
|
||||
|
||||
$.ajax({
|
||||
url : "${pageContext.request.contextPath}/userInfo/updateMyInfo.ajax",
|
||||
type : "POST",
|
||||
async: false,
|
||||
data : queryString,
|
||||
success : function(result){
|
||||
alert("정보를 수정하였습니다.");
|
||||
//인증번호 확인창
|
||||
location.replace("${pageContext.request.contextPath}/userInfo/getMyInfo.do");
|
||||
},error : function(){
|
||||
alert("정보 수정에 실패하였습니다.");
|
||||
|
||||
}
|
||||
})
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -148,6 +154,73 @@ function changePassword(){
|
||||
return false;
|
||||
}
|
||||
|
||||
<%
|
||||
//이메일 인증
|
||||
%>
|
||||
function emailCert(){
|
||||
|
||||
|
||||
var regExp = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
|
||||
|
||||
if(!regExp.test($("#email").val()) || $("#email").val()==""){
|
||||
|
||||
alert("형식에 맞지 않는 이메일입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : "/nlib/member/emailCertNum.ajax",
|
||||
type : "POST",
|
||||
async: false,
|
||||
data : {"email" : $("#email").val(),
|
||||
"pageName" : "myInfo"},
|
||||
success : function(result){
|
||||
alert(result.msg);
|
||||
|
||||
if(result.emailCertYn=="Y")
|
||||
{
|
||||
$("#emailCertYn").val("N");
|
||||
$("#emailCertForm").css("display","block")
|
||||
}
|
||||
if(result.emailCertYn=="N")
|
||||
{
|
||||
$("#emailCertYn").val("N");
|
||||
$("#emailCertForm").css("display","none")
|
||||
}
|
||||
},error : function(){
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
<%
|
||||
//이메일 인증번호 확인
|
||||
%>
|
||||
function certEmailCheck(){
|
||||
<%
|
||||
//ajax 사용자가 입력한 번호를 보내 RESTfull server에서 확인 success or fail 반환 (3분이내인지도)
|
||||
%>
|
||||
$.ajax({
|
||||
url : "/nlib/member/emailCertNumChk.ajax",
|
||||
type : "POST",
|
||||
data : {"emailVrfctNo" : $("#emailVrfctNo").val(),
|
||||
"email" : $("#email").val(),
|
||||
"pageName" : "myInfo"},
|
||||
async: false,
|
||||
success : function(result){
|
||||
if(result=="true")
|
||||
{
|
||||
alert("인증되었습니다.");
|
||||
$("#emailCertYn").val("Y");
|
||||
}else
|
||||
{
|
||||
alert("인증번호가 일치하지않습니다.");
|
||||
}
|
||||
}
|
||||
,error : function(){
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
<%
|
||||
//핸드폰 인증번호 받기
|
||||
%>
|
||||
@ -167,7 +240,8 @@ function mobileCert(){
|
||||
url : "/nlib/member/mobileCertNum.ajax",
|
||||
type : "POST",
|
||||
async: false,
|
||||
data : {"mobileNo" : $("#mobileNo").val()},
|
||||
data : {"mobileNo" : $("#mobileNo").val(),
|
||||
"pageName" : "myInfo"},
|
||||
success : function(result){
|
||||
alert("인증번호가 발송됐습니다.");
|
||||
$("#mobileCertYn").val("N");
|
||||
@ -189,7 +263,8 @@ function certMobileCheck(){
|
||||
url : "/nlib/member/mobileCertNumChk.ajax",
|
||||
type : "POST",
|
||||
data : {"mobileVrfctNo" : $("#mobileVrfctNo").val(),
|
||||
"mobileNo" : $("#mobileNo").val()},
|
||||
"mobileNo" : $("#mobileNo").val(),
|
||||
"pageName" : "myInfo"},
|
||||
async: false,
|
||||
success : function(result){
|
||||
if(result=="true")
|
||||
@ -323,27 +398,6 @@ function snsUnlink(snsId){
|
||||
|
||||
}
|
||||
|
||||
<%
|
||||
/* 문화원 가입해지 */
|
||||
%>
|
||||
|
||||
function centerUnlink(siteId){
|
||||
if(confirm("문화원 가입을 해제하시겠습니까?"))
|
||||
{
|
||||
$.ajax({
|
||||
url : "${pageContext.request.contextPath}/userInfo/deleteCenterLink.ajax",
|
||||
type : "POST",
|
||||
async: false,
|
||||
data : {mbSiteId:siteId},
|
||||
success : function(result){
|
||||
alert("가입이 해지되었습니다.");
|
||||
$("#c"+siteId).remove();
|
||||
},error : function(){
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
@ -416,12 +470,13 @@ label.error {
|
||||
<b><font size="6" color="gray">정보수정</font></b>
|
||||
<br><br><br>
|
||||
|
||||
<form id="updateForm" name="updateForm" method="post" onsubmit="return update()" >
|
||||
<form id="updateForm" name="updateForm" method="post" onsubmit="return update()" action="${pageContext.request.contextPath}/userInfo/updateMyInfo.do">
|
||||
<table>
|
||||
<tr>
|
||||
<td id="title">아이디</td>
|
||||
<td id="title">이메일</td>
|
||||
<td>
|
||||
<input type="email" id="loginUserId" name="loginUserId" maxlength="30" required readonly value=<c:out value="${loginVO.loginUserId}"/> >
|
||||
<input type="email" id="email" name="email" maxlength="30" required value=<c:out value="${loginVO.email}"/> ><button type="button" id="emailCertSendBtn" name="emailCertSendBtn" style="text-align:left;display:none;" class="btn-warning" onclick="emailCert()" required>인증번호 받기</button>
|
||||
<div id="emailCertForm" style="display:none;"><br><input type='text' id='emailVrfctNo' name='emailVrfctNo'> <button type='button' style='text-align:left;' class='btn-warning' onclick='certEmailCheck()' >인증번호 확인</button></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -471,13 +526,17 @@ label.error {
|
||||
<tr>
|
||||
<td id="title">휴대전화</td>
|
||||
<td id="Cert">
|
||||
<input type="text" id="mobileNo" name="mobileNo" required value="<c:out value="${loginVO.mobileNo}"/>" ><button type="button" id="mobileCertSendBtn" style="text-align:left;" class="btn-warning" onclick="mobileCert()" required>인증번호 받기</button>
|
||||
<input type="text" id="mobileNo" name="mobileNo" required value="<c:out value="${loginVO.mobileNo}"/>" ><button type="button" id="mobileCertSendBtn" style="text-align:left;display:none;" class="btn-warning" onclick="mobileCert()" required>인증번호 받기</button>
|
||||
<div id="mobileCertForm" style="display:none;"><br><input type='text' id='mobileVrfctNo' name='mobileVrfctNo'> <button type='button' style='text-align:left;' class='btn-warning' onclick='certMobileCheck()' >인증번호 확인</button></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<input type="hidden" id="mobileCertYn" name="mobileCertYn" value=<c:out value="Y"/>>
|
||||
<input type="hidden" id="emailCertYn" name="emailCertYn" value="Y">
|
||||
<input type="hidden" id="loginUserId" name="loginUserId" value='<c:out value="${loginVO.loginUserId}"/>'>
|
||||
<input type="hidden" id="userEmail" name="userEmail" value='<c:out value="${loginVO.email}"/>'>
|
||||
<input type="hidden" id="userMobileNo" name="userMobileNo" value='<c:out value="${loginVO.mobileNo}"/>'>
|
||||
<input type="hidden" id="birthday" name="birthday" >
|
||||
<input type="hidden" id="mbInfoId" name="mbInfoId" value="<c:out value="${loginVO.mbInfoId}"/>" >
|
||||
<input type="hidden" id="extMobileNo" name="extMobileNo" value="<c:out value="${loginVO.mobileNo}"/>">
|
||||
@ -493,11 +552,6 @@ label.error {
|
||||
<br>
|
||||
</c:forEach>
|
||||
<br>
|
||||
<p1>가입된 문화원 </p1><br>
|
||||
<c:forEach var="centerList" items="${centerList}" varStatus="status">
|
||||
<a id="<c:out value="c${centerList.mbSiteId}" />"><c:out value="${centerList.joinCouncilNm}" /><c:out value="${centerList.joinAgreeDd }" /> 가입완료 <c:if test="${centerList.masterYn ne 'Y'}"><input type="button" onclick=centerUnlink("<c:out value="${centerList.mbSiteId}" />"); value="가입해제"></c:if></a>
|
||||
<br>
|
||||
</c:forEach>
|
||||
<p1>비밀번호 변경 </p1>
|
||||
<form id="passwordForm" name="passwordForm" method="post" onsubmit="return changePassword()" >
|
||||
<table>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user