SPRING

    [스프링] 회원정보수정 - 비밀번호 (ajax)

    [스프링] 회원정보수정 - 비밀번호 (ajax)

    저번 글에서 회원 정보 수정 아이디와 이메일을 구현했다. 비밀번호도 세션값의 계정ID를 통해 ajax로 유효성검사를 한다. 회원가입시 비밀번호는 암호화되서 DB에 저장되기 때문에, 암호화 된 비밀번호를 새로 입력한 아이디와 비교한다. 그 후 입력한 비밀번호를 암호화해서 DB에 넣어주도록 구현했다. 이번 글에선 ajax를 좀 더 간단하게 작성해 사용해봤다. Mapper.xml select MEMBER_PW from mp_member where member_id = #{memberId} update MP_MEMBER set MEMBER_PW = #{memberPw} where MEMBER_ID = #{memberId} 유효성검사와 비밀번호변경 둘다 세션의 ID값을 사용한다. DAO,DAOImpl public..

    [스프링] 회원정보수정  - 닉네임,이메일  (ajax)

    [스프링] 회원정보수정 - 닉네임,이메일 (ajax)

    오늘은 회원 정보 수정을 구현해보려고 한다. 이메일에는 아직 횟수제한을 걸어놓지 않았기 때문에, 따로 유효성 검사는 하지않고 이메일 양식만 체크하고, 닉네임은 ajax를 사용해서 비동기방식으로 유효성 검사를 했다. 간단하게 count 후 , if문 -> alert창으로 유효성 검사를 할 수도 있겠지만.. ajax가 아직 어렵게 느껴져서 익숙해지기 위해 일부로 사용해봤다. 회원정보 수정페이지에서, 아이디와 닉네임 이메일이 있는데, 아이디는 수정불가로 구현했다. 닉네임 수정 기능을 추가하기전에, 글 , 댓글작성 시에 제목,작성자명,내용으로 insert되는 로직을 제목 , 작성자명(닉네임) , 내용 , ID (input type="hidden") 로 바꾸어줬다. 글수정,삭제 등의 권한을 작성자명이 아닌, ID..

    [스프링]비밀번호 찾기 구현

    [스프링]비밀번호 찾기 구현

    이번엔 아이디/비밀번호 찾기를 구현했다. 아이디는 간단하게 이메일로만 찾을 수 있도록 구현했고, 비밀번호는 전에 작성한 회원가입 글에서 만들어놓은 메일 , 난수 클래스를 이용해서 간단하게 구현했다. 아이디와 메일을 입력하면 임시비밀번호가 발급되도록 구현했다. (암호화 적용) mapper.xml update MP_MEMBER set MEMBER_PW = #{memberPw} where MEMBER_EMAIL = #{memberEmail} and MEMBER_ID = #{memberId} select count(*) from MP_MEMBER where MEMBER_EMAIL = #{memberEmail} and MEMBER_ID = #{memberId} 일단 저번 글의 아이디찾기 유효성 검사는 동일하다. ..

    [스프링] 아이디찾기 구현

    [스프링] 아이디찾기 구현

    이번엔 아이디/비밀번호 찾기를 구현했다. 아이디는 간단하게 이메일로만 찾을 수 있도록 구현했고, 비밀번호는 전 게시글에서 만들어놓은 메일 , 난수 클래스를 이용해서 간단하게 구현했다. 아이디와 메일을 입력하면 임시비밀번호가 발급되도록 구현했다. (암호화 적용) Mapper.xml select * from MP_MEMBER where MEMBER_EMAIL = #{memberEmail} select count(*) from MP_MEMBER where MEMBER_Email = #{memberEmail} 간단하다. IdCheck는 유효성 검사를 위해 작성한 쿼리인데, 입력한 이메일의 수를 카운트해서 0이 나오면 팝업창을 출력하게 로직을 짯다. findId는 select Id만해도 되지만 다른 쓸데가 있을까..

    [스프링]회원가입 이메일인증 구현

    [스프링]회원가입 이메일인증 구현

    이번엔 회원가입 시 ,이메일 인증을 구현했다. 메일로 인증번호를 받아서 인증번호를 입력 후 인증하는 방법과 메일에서 바로 버튼을 눌러서 인증을 하는 방법을 생각했는데, 사용자가 느끼기엔 버튼을 눌러서 인증하는 방법이 편할 것 같아서 후자의 방법으로 구현했다. 다음 프로젝트땐 전자의 방법으로 구현 할 생각이다. 크게 다르지 않다. pom.xml에 메일 라이브러리를 추가 javax.mail mail 1.4.7 org.springframework spring-context-support ${org.springframework-version} MailUtils.java 생성 public class MailUtils { private JavaMailSender mailSender; private MimeMessa..

    [스프링] 자동로그인 기능 구현 - 로그인4

    [스프링] 자동로그인 기능 구현 - 로그인4

    먼저, 로그인 화면에 로그인유지 체크박스를 만들었다. 로그인유지 로그인 인터셉터의 postHandle 부분 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { logger.info("interceptor postHandel"); HttpSession httpSession = request.getSession(); ModelMap modelMap = modelAndView.getModelMap(); Object memberVO = modelMap.get("member"); if (memb..

    [스프링]로그인 권한설정과(인터셉터) 로그인,로그아웃 전 페이지 기억 기능 - 로그인 3

    [스프링]로그인 권한설정과(인터셉터) 로그인,로그아웃 전 페이지 기억 기능 - 로그인 3

    저번글에서, 로그인처리까지 완료했으니 이번엔 로그인 후, 권한에 따라 기능을 제한하고 나눠볼 예정이다. 로그인구현 첫번째 글에서 설명했듯이,인터셉터를 이용한 로그인 방식을 구현했다. 그래서 인터셉터를 이용해서 로그인 시, 글작성, 글수정과같은 기능을 제한 , 로그인 페이지로 넘어가게 만들고 이동 전 페이지를 기억해서 원래의 페이지로 돌아가도록 기능을 구현 할 예정이다. 먼저 kr.co.commons.interceptor 패키지에 AuthInterceptor 클래스를 만든다. public class AuthInterceptor extends HandlerInterceptorAdapter{ private static final Logger logger = LoggerFactory.getLogger(AuthI..

    [스프링]인터셉터를 활용한 로그인구현 (세션부여) - 로그인2

    [스프링]인터셉터를 활용한 로그인구현 (세션부여) - 로그인2

    이번엔 로그인처리를 해보려고 한다. 로그인기능은 클라이언트가 아이디와 비밀번호를 입력하면, 아이디와 비밀번호가 맞는지 확인하고, 맞다면 세션쿠키를 부여해서 그 회원의 권한에 맞게 뷰페이지나 글작성 ,관리자페이지 등을 들어갈 수 있고, 조작할 수 있게 구분해주는 작업이라고 할 수 있겠다. 이번엔 아이디와 비밀번호가 맞는지 확인하고, 세션쿠키를 부여하는데 까지 해보려고 한다. [스프링] Session과 Cookie , HttpSession :: 간편 웹프로그래밍 (tistory.com) [스프링] Session과 Cookie , HttpSession session이란? 세션과 쿠키를 사용하는 이유는 HTTP프로토콜의 특징이자 약점을 보완하기 위해서다. HTTP프로토콜은 비연결지향, 무상태 프로토콜이다. 클라..

    [스프링] Session과 Cookie , HttpSession

    session이란? 세션과 쿠키를 사용하는 이유는 HTTP프로토콜의 특징이자 약점을 보완하기 위해서다. HTTP프로토콜은 비연결지향, 무상태 프로토콜이다. 클라이언트가 서버에 요청했을때 응답을 보낸 후 연결을 끊는 처리방식을 가지고 있고, 데이터를 유지하지 않는다. 하지만 로그인이나, 장바구니에 상품을 담아놓거나하는 경우에는 데이터 유지가 필요하다. 이 경우를 위해 쿠키와 세션을 사용한다. 먼저 세션과 쿠키의 가장 큰 차이점은 정보가 어디에 저장되느냐이다. 쿠키는 클라이언트(로컬)에 저장되고, 세션은 서버에 저장된다. 만료시점은 별도로 지정이 가능하고, 쿠키는 로컬에 저장되어 보안상 위험이 있기 때문에 요즘은 잘 사용하지 않는다고 한다.( 로그인유지 기능 등을 제외하고) 쿠키는 로컬에 저장되기 때문에 속..

    [스프링]회원가입(ajax 유효성 검사,비밀번호 암호화) - 로그인1

    [스프링]회원가입(ajax 유효성 검사,비밀번호 암호화) - 로그인1

    내가 생각하고 있던 로그인 방법은 1. controller에서 HttpSession 인터페이스를 이용해서 직접 세션값을 구현 2.인터셉터를 이용해서 세션값을 확인하는 방법으로 구현. 3.spring 시큐리티를 이용해서 필터로 로그인처리를 구현하고, 보안까지 잡는 방법이다. 원래는 스프링시큐리티를 이용해서 이번 프로젝트를 해보려고했는데 반나절정도 시간을 들여서 공부하고나니 음.. 할 수는 있겠지만 조금 헤맬거같은 느낌이 확 들길래 좀 더 숙련도를 쌓고 로직에 대한 이해를 하고 다음에 스프링부트로 프로젝트를 만들때, 스프링 시큐리티를 활용하기로 했다. 그래서 2번, 인터셉터를 이용해서 로그인을 구현해보려고 한다.. 중복체크나 이메일인증을 하다가 입력한 정보가 다 날아가버리면 웹사이트를 닫고 욕하며 나가버리는..