분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
옵션 |
|
기본적으로 controller는 요청이 들어오면 해당 요청에 해당하는 비즈니스 로직(service)을 호출,
호출된 비즈니스 로직에서 해당 프로세스을 실행하게 되며, 그 중간중간 DB 접근을 dao를통해 하게 된다.
라고 이해하고 있습니다만,
무슨 말인지는 이해 하나, 직접 코딩을 했을 때 이 경계가 모호해져버립니다.
예를 들어 컨트롤러에서 로그인 후 로그인을 체크하는 메서드를 호출했을 때,
현재 프로세스는 아래와 같습니다.
AuthController입니다.
@RequestMapping(value="/login/check", method=RequestMethod.POST) public String loginCheck(MemberVo memberVo, String token, Model model) throws Exception { securityService.checkToken(token); HashMap<String, Object> hashMap = authService.login(memberVo); MemberVo resultVo = (MemberVo) hashMap.get("memberVo"); Integer loginState = (Integer) hashMap.get("state"); if(loginState != null) { if(loginState == IAuthService.NO_EMAIL_CERTIFY) { // 이메일이 인증되지 않았다면 이메일 인증 메일 변경 및 재전송 model.addAttribute("msg", resultVo.getEmail() + "메일로 메일인증을 받으셔야 로그인 가능합니다.\\n다른 메일주소로 변경하여 인증하시려면 확인을 클릭하시기 바랍니다."); model.addAttribute("redirect", "member/change/email?id=" + resultVo.getId() + "&token=" + securityService.getToken()); model.addAttribute("redirectCancle", ""); return "message/confirmReplace"; } } return "redirect:/"; }
AuthService입니다.
public HashMap<String, Object> login(MemberVo memberVo) throws Exception { MemberVo resultVo = memberDao.selectOne(memberVo); HashMap<String, Object> hashMap = new HashMap<String, Object>(); hashMap.put("memberVo", resultVo); if(resultVo == null) { throw new Exception("아이디 혹은 비밀번호가 맞지 않습니다."); } if(!memberService.checkHashedPassword(resultVo.getPassword(), memberVo.getPassword())) { //아이디 혹은 비밀번호가 맞지 않다는 메시지를 나타내는 이유는 사용자에게 아이디가 존재하는지 알리지 않기 위함. throw new Exception("아이디 혹은 비밀번호가 맞지 않습니다."); } TimestampUtil timestampUtil = new TimestampUtil(); timestampUtil.setFormat("yyyy년 MM월 dd일 HH시 mm분 ss초"); if(resultVo.getBlockDate() != null) { timestampUtil.setTimestamp(resultVo.getBlockDate()); String blockDate = timestampUtil.getFormatDate(); throw new Exception(resultVo.getId() + " 회원님은 " + blockDate + "에 차단되셨습니다."); } if(resultVo.getLeaveDate() != null) { timestampUtil.setTimestamp(resultVo.getLeaveDate()); String leaveDate = timestampUtil.getFormatDate(); throw new Exception(resultVo.getId() + " 회원님은 " + leaveDate + "에 회원탈퇴를 하셨습니다."); } if(resultVo.getEmailCertifyDate() == null) { System.err.println("warning: 회원 로그인 시 이메일 인증이 없으면 출력, 회원 이메일을 다시 적을 수 있는 페이지 제작해야 함."); hashMap.put("state", IAuthService.NO_EMAIL_CERTIFY); return hashMap; } System.err.println("warning: 비밀번호 5회 이상 틀릴 경우 비밀번호 찾기 필요"); timestampUtil = new TimestampUtil(); Timestamp today = timestampUtil.getTimestamp(); memberVo.setLoginDate(today); memberDao.update(memberVo); setAuthMember(memberVo); //세션에 memberVo 추가.(로그인 return hashMap;}
현재 경계를 나눌 수가 없어서 제 마음대로 작성해놨습니다만,
어떤 부분이 어디로 가야할지를 알려주시면 정말 많은 도움이 될 것 같습니다.
선배님들의 많은 도움 부탁드립니다!
죄송합니다. 댓글 작성은 회원만 가능합니다.
번호 | 제 목 | 이름 | 날짜 | 조회 | 추천 | |||||
---|---|---|---|---|---|---|---|---|---|---|
94 | 친추 하실분~ | kre29 | 18/11/10 15:03 | 52 | 0 | |||||
93 | 할인중인 블랙박스가 있는데 괜찮은건가요? [3] | kre29 | 18/02/14 13:33 | 129 | 0 | |||||
92 | 주차 하다가 실수로 다른 차량을 긁었네요 ㅠㅠ [8] | kre29 | 17/10/30 21:44 | 215 | 1 | |||||
▶ | 스프링에서 컨트롤러, 서비스, DAO 구현이 모호합니다. [4] | kre29 | 17/08/30 18:28 | 35 | 0 | |||||
90 | 호환 확인 부탁드려도 될까요? [8] | kre29 | 17/06/28 13:49 | 65 | 1 | |||||
89 | 큐텐에서 현재 아이패드 프로 괜찮은 가격에 파네요. [4] | kre29 | 17/06/21 18:34 | 109 | 0 | |||||
88 | 유스케이스 관련해서 질문 드립니다. | kre29 | 17/03/17 18:18 | 33 | 0 | |||||
87 | 휠 / 스프라켓에 대해서 좀 여쭙겠습니다. [5] | kre29 | 16/04/29 10:56 | 56 | 1 | |||||
86 | 호환성이랑 부품 괜찮은지 확인 좀 부탁드리겠습니다. [3] | kre29 | 16/02/21 14:42 | 42 | 0 | |||||
85 | 아.. 설명서... [2] | kre29 | 15/09/01 21:14 | 38 | 0 | |||||
84 | 중고로 e2500을 샀는데 여쭙고싶은게 있습니다. [5] | kre29 | 15/08/30 17:31 | 76 | 0 | |||||
83 | 중고 자전거를 사려고 하는데 어떤점을 주의해야하나요? [13] | kre29 | 15/08/23 21:12 | 55 | 0 | |||||
82 | 게시판 답글 알고리즘 질문 드려봅니다. [4] | kre29 | 15/05/14 23:12 | 22 | 0 | |||||
81 | 공군 동미참 훈련에 대해서 궁금합니다. [1] | kre29 | 15/05/01 12:15 | 36 | 0 | |||||
80 | 구하드 가실분~ [4] | kre29 | 15/01/23 20:49 | 41 | 0 | |||||
79 | 업데이트에 대해 말들이 많네요. [9] | kre29 | 15/01/21 08:41 | 318 | 13/5 | |||||
78 | 아이피로 접속이 안되네요. [1] | kre29 | 15/01/06 20:04 | 70 | 0 | |||||
77 | jQuery 이미지 불러오는 부분에 대해서 질문이 있습니다. [1] | kre29 | 14/12/12 10:22 | 36 | 0 | |||||
76 | 언행일치 [1] | kre29 | 14/10/08 23:12 | 139 | 1 | |||||
75 | 썸탈이 드디어 왔으므로 등록합니다! [8] | kre29 | 14/09/25 20:31 | 59 | 1 | |||||
74 | 에고 멍청한 짓 했네요 ㅋㅋ [3] | kre29 | 14/09/25 00:35 | 85 | 0 | |||||
73 | 물통과 물통 케이지 추천 좀 부탁드립니다. [4] | kre29 | 14/09/23 19:16 | 65 | 0 | |||||
72 | 지금 썸탈 싸게 팔고있네요. [10] | kre29 | 14/09/23 09:47 | 173 | 4 | |||||
71 | 30만원 정도의 자전거 추천 좀 부탁드립니다. [5] | kre29 | 14/09/22 17:41 | 43 | 2 | |||||
70 | 자전거 구매에 대한 질문 좀 드리겠습니다. [21] | kre29 | 14/09/22 08:45 | 91 | 2 | |||||
69 | 에고 자전거를 사고싶은데 집이 5층입니다. [15] | kre29 | 14/09/17 20:58 | 86 | 1 | |||||
68 | 자전거를 사고싶은데 집이 5층입니다. [4] | kre29 | 14/09/17 20:56 | 52 | 0 | |||||
67 | 아라드 칭호에 대해서 여쭤볼게 있습니다. [3] | kre29 | 14/09/05 14:41 | 105 | 0 | |||||
66 | [본인 빙결사] 신이계 가실분 마감 돌삭 [4] | kre29 | 14/09/04 21:36 | 64 | 0 | |||||
65 | [본인 배메] 개신팩 가실분 모집! 마감 [4] | kre29 | 14/09/04 17:46 | 63 | 0 | |||||
|
||||||||||
[1] [2] [3] [4] | ||||||||||