로그인 예제

로그인 체크 쿼리
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.

Comments