로그인 예제
로그인 체크 쿼리
1 2 3 4 5 6 7 8 9 | <!-- 로그인 체크 쿼리 --> <select id="userLoginChkCount" parameterType="com.astudy.backoffice.user.vo.UserVO" resultType="integer"> SELECT COUNT(*) FROM ASTUDY_USER <where> ASTUDY_EMAIL = #{ASTUDY_EMAIL} AND ASTUDY_PASSWORD = #{ASTUDY_PASSWORD} </where> </select> |
로그인 컨트롤러
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | package com.astudy.backoffice.user.controller; import javax.servlet.http.HttpSession; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.astudy.backoffice.user.service.LoginService; import com.astudy.backoffice.user.vo.UserVO; @Controller public class LoginController { private static final Logger logger = LoggerFactory.getLogger(LoginController.class); @Autowired private LoginService loginService; @RequestMapping(value="/user/loginView.do") public String loginView() throws Exception { return "user/loginView"; } @RequestMapping(value="/user/loginProgress.do") public String loginProgress(UserVO user, HttpSession session) throws Exception { Boolean bLoginChkCount= loginService.loginChkCount(user); String mainPage = "redirect:/index.do"; String loginViewPage = "redirect:/user/loginView.do"; if(bLoginChkCount) { logger.info("================= 로그인 성공 ====================="); loginService.loginProgress(user, session); } else { logger.info("================= 로그인 실패 ====================="); return loginViewPage; } return mainPage; } @RequestMapping(value="/user/logOut.do") public String logOut(HttpSession session) throws Exception{ String logOut = "redirect:/index.do"; session.invalidate(); logger.info("로그아웃 성공 :::::::::::::::::"); return logOut; } } |
로그인DAO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package com.astudy.backoffice.user.dao; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import com.astudy.backoffice.user.vo.UserVO; @Repository public class LoginDAO { @Autowired private SqlSessionTemplate sqlSession; public int loginChkCount(UserVO userVO) throws Exception{ return sqlSession.selectOne("userLoginChkCount", userVO); } } |
로그인 ServiceImpl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | package com.astudy.backoffice.user.service.impl; import javax.servlet.http.HttpSession; import javax.transaction.Transactional; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.ModelAttribute; import com.astudy.backoffice.user.dao.LoginDAO; import com.astudy.backoffice.user.service.LoginService; import com.astudy.backoffice.user.vo.UserVO; @Service @Transactional public class LoginServiceImpl implements LoginService{ private static final Logger logger = LoggerFactory.getLogger(LoginServiceImpl.class); @Autowired private LoginDAO loginDAO; /** * 로그인 유효성 체크 */ @Override public boolean loginChkCount(UserVO userVO) throws Exception { int iLoginChkCount = 0; iLoginChkCount = loginDAO.loginChkCount(userVO); try { String sLoginChkCount = String.valueOf(iLoginChkCount); iLoginChkCount = Integer.parseInt(sLoginChkCount); } catch(Exception e) { e.getMessage(); } logger.info("로그인 체크 카운트 : " + iLoginChkCount); if(iLoginChkCount> 0) { return true; } else { return false; } } @Override public String loginProgress(@ModelAttribute("User") UserVO user, HttpSession session) throws Exception { String sEmail = user.getASTUDY_EMAIL(); String sPassword = user.getASTUDY_PASSWORD(); logger.info("================= 로그인 처리 진입 ====================="); if((sEmail != null && StringUtils.isNotBlank(sEmail)) && (sPassword != null && StringUtils.isNotBlank(sPassword))) { logger.info("================= 로그인 유효성 체크 통과 ====================="); session.setAttribute("login", 0); session.setAttribute("userLogin", sEmail); } String page ="/user/loginAction.do"; return page; } } |
로그인 서비스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package com.astudy.backoffice.user.service; import javax.servlet.http.HttpSession; import com.astudy.backoffice.user.vo.UserVO; public interface LoginService { public boolean loginChkCount(UserVO userVO) throws Exception; public String loginProgress(UserVO user, HttpSession session) throws Exception; } |
로그인VO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | package com.astudy.backoffice.user.vo; import java.util.Date; public class UserVO { private String ASTUDY_EMAIL; private String ASTUDY_PASSWORD; private String ASTUDY_NAME; private String ASTUDY_PHONE; private Date REGDATE; public String getASTUDY_EMAIL() { return ASTUDY_EMAIL; } public void setASTUDY_EMAIL(String aSTUDY_EMAIL) { ASTUDY_EMAIL = aSTUDY_EMAIL; } public String getASTUDY_PASSWORD() { return ASTUDY_PASSWORD; } public void setASTUDY_PASSWORD(String aSTUDY_PASSWORD) { ASTUDY_PASSWORD = aSTUDY_PASSWORD; } public String getASTUDY_NAME() { return ASTUDY_NAME; } public void setASTUDY_NAME(String aSTUDY_NAME) { ASTUDY_NAME = aSTUDY_NAME; } public String getASTUDY_PHONE() { return ASTUDY_PHONE; } public void setASTUDY_PHONE(String aSTUDY_PHONE) { ASTUDY_PHONE = aSTUDY_PHONE; } public Date getREGDATE() { return REGDATE; } public void setREGDATE(Date rEGDATE) { REGDATE = rEGDATE; } @Override public String toString() { return "UserVO [ASTUDY_EMAIL=" + ASTUDY_EMAIL + ", ASTUDY_PASSWORD=" + ASTUDY_PASSWORD + ", ASTUDY_NAME=" + ASTUDY_NAME + ", ASTUDY_PHONE=" + ASTUDY_PHONE + ", REGDATE=" + REGDATE + "]"; } } |
'프로그래밍 > Spring' 카테고리의 다른 글
Java Cofig 설정 1편 (0) | 2018.12.07 |
---|---|
mybatis 빈설정 (0) | 2018.07.14 |
RSA 암호화 예제 2 (0) | 2018.07.13 |
File 읽고 데이터 삽입하기 예제 (0) | 2018.07.05 |
예제 프로젝트 만들기 (0) | 2018.06.27 |
TAGS.