이지우 - 협의회위원 로그인 인증 추가

This commit is contained in:
JIWOO 2024-12-19 14:01:47 +09:00
parent 905f28fd1c
commit 1c1d7c3267
8 changed files with 299 additions and 6 deletions

View File

@ -0,0 +1,271 @@
package seed.com.user.login.web;
import java.net.InetAddress;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import seed.com.user.login.service.DisputeResolutionCommitteeAttendanceRateVO;
import seed.com.user.login.service.DisputeResolutionCommitteeService;
import seed.com.user.login.service.DisputeResolutionCommitteeVO;
import seed.manager.group.service.ManagerGroupService;
import seed.manager.member.service.ManagerMemberService;
import seed.manager.site.service.ManagerSiteManagerService;
import seed.manager.site.service.ManagerSiteMenuAuthService;
import seed.manager.site.service.ManagerSiteMenuManagerService;
import seed.manager.site.service.ManagerSiteMenuService;
import seed.utils.FairnetUtils;
import seed.utils.SeedUtils;
@Controller
public class WebDisputeResolutionCommitteeLoginController {
private Logger log = Logger.getLogger(this.getClass());
@Autowired
private ManagerSiteMenuService managerSiteMenuService;
@Autowired
private ManagerSiteManagerService managerSiteManagerService;
@Autowired
private ManagerMemberService managerMemberService;
@Autowired
private ManagerSiteMenuManagerService managerSiteMenuManagerService;
@Autowired
private ManagerSiteMenuAuthService managerSiteMenuAuthService;
@Autowired
private ManagerGroupService managerGroupService;
@Autowired
private DisputeResolutionCommitteeService disputeResolutionCommitteeService;
@Value("#{config['member.merge']}")
private String memberMerge;
@Value("#{config['member.merge.siteIdx']}")
private String memberMergeSiteIdx;
@Value("#{config['was.session.time']}")
private Integer wasSessionTime;
public void setSessionRemove(HttpSession session){
session.removeAttribute("url");
session.removeAttribute("message");
session.removeAttribute("opener");
session.removeAttribute("append");
session.removeAttribute("self");
}
public void setSessionMessageRemove(HttpSession session){
session.removeAttribute("url");
session.removeAttribute("message");
session.removeAttribute("opener");
session.removeAttribute("append");
session.removeAttribute("self");
}
//협의회 로그인화면.
@RequestMapping("/web/user/{siteIdx}/{siteMenuIdx}/login.do")
public ModelAndView getLogin(ModelMap map, HttpSession session,
@PathVariable(value="siteIdx") String siteIdx,
@PathVariable(value="siteMenuIdx") Integer siteMenuIdx
){
//여기서부터 작업할거
return new ModelAndView("/_extra/user/trublcfrncmng/trublcfrncmngLogin");
}
//분쟁조정위원 로그인로직.
@RequestMapping(value="/web/user/proc/{siteIdx}/ResolutionCommittee/loginProc.do")
public ModelAndView actionCaseDisputeResolutionCommitteeLoginProc(
HttpSession session,
HttpServletRequest request,
HttpServletResponse response,
Map<String, Object> map,
@ModelAttribute("disputeResolutionCommitteeVO") DisputeResolutionCommitteeVO disputeResolutionCommitteeVO,
@PathVariable(value="siteIdx") String siteIdx
) throws Exception {
this.setSessionRemove(session);
String memberNo = SeedUtils.setReplaceNull(session.getAttribute("memberNo"),"0");
System.out.println("test1");
HttpServletRequest httpRequest = (HttpServletRequest)request;
session = httpRequest.getSession();
System.out.println("test12");
//입력받은 비밀번호를 복호화 voSET
String strCode = SeedUtils.getSeedMD5Code(disputeResolutionCommitteeVO.getMemberPwd());
String memberPw = SeedUtils.getSeedSHA256Code(strCode);
disputeResolutionCommitteeVO.setMemberPwd(memberPw);
System.out.println("test13");
// 1. 일반 로그인 처리
DisputeResolutionCommitteeVO resultVO = disputeResolutionCommitteeService.resolutionCommitteeLogin(disputeResolutionCommitteeVO);
System.out.println("test14");
InetAddress local = InetAddress.getLocalHost();
String memberIp = local.getHostAddress();
//비밀번호 변경
/*if(resultVO != null && resultVO.getUserSe() != null && resultVO.getUserSe().equals("PASSWORD_CHANGE")){
LOG.debug("PASSWORD_CHANGE -> getWebUserId:" + resultVO.getWebUserId());
request.getSession().setAttribute("SESS_PASSWORD_CHANGE", resultVO.getWebUserId());
return "/main";
}*/
System.out.println("test15");
if (resultVO != null && resultVO.getMemberId() != null && !resultVO.getMemberPwd().equals("")) {//로그인 성공
//userLoginService.setLoginProc(Integer.parseInt(disputeResolutionCommitteeVO.getMemberNo()), memberIp);
//if(resultVO.getMemberIp().equals(memberIp)){
boolean isSuccess = disputeResolutionCommitteeService.resolutionCommitteeLoginLog(resultVO);
if(isSuccess){
//세션타임 설정
session.setMaxInactiveInterval(60*wasSessionTime);
session.setAttribute("memberIdx", resultVO.getMemberNo());
session.setAttribute("memberId", resultVO.getMemberId());
session.setAttribute("memberName", resultVO.getMemberName());
session.setAttribute("memberDept", resultVO.getMemberDept());
session.setAttribute("memberTel", resultVO.getMemberTel());
session.setAttribute("memberPhone", resultVO.getMemberHp());
String email = resultVO.getMemberEmail();
String email1 = "";
String email2 = "";
int i = email.indexOf("@");
email1 = email.substring(0,i);
email2 = email.substring(i+1);
session.setAttribute("memberEmail1", resultVO.getMemberEmail());
session.setAttribute("memberEmail2", resultVO.getMemberEmail());
session.setAttribute("memberIp", resultVO.getMemberIp());
map.put("message", "common.message.login.success");
map.put("url", "/web/user/case/203/disputeResolutionCommitteeDet.do");
}else{
map.put("message", "(message)로그인 db실패.");
map.put("url", "/user/case/202/login.do");
}
//}else if(resultVO.getMemberIp().equals("-")){
//map.put("message", "(message)접근가능한 아이피주소가등록되지않았습니다.");
//map.put("url", "/user/case/202/login.do");
//}else{
//map.put("message", "(message)접근이 허가된 아이피주소가 아닙니다.");
//map.put("url", "/user/case/202/login.do");
//}
}else{ //로그인 실패 (아이디나 비밀번호 확인)
map.put("message", "(message)아이디 또는 패스워드를 확인하세요.");
map.put("url", "/user/case/202/login.do");
}
return new ModelAndView("/_common/jsp/umessage");
}
//협의회 로그인화면.
@RequestMapping("/web/user/{siteIdx}/{siteMenuIdx}/disputeResolutionCommitteeDet.do")
public ModelAndView disputeResolutionCommitteePage(ModelMap map, HttpSession session,
@PathVariable(value="siteIdx") String siteIdx,
@PathVariable(value="siteMenuIdx") Integer siteMenuIdx,
@ModelAttribute("disputeResolutionCommitteeVO") DisputeResolutionCommitteeVO disputeResolutionCommitteeVO,
@RequestParam Map<String, Object> commandMap,
@ModelAttribute("disputeResolutionCommitteeAttendanceRateVO") DisputeResolutionCommitteeAttendanceRateVO disputeResolutionCommitteeAttendanceRateVO
){
if(!FairnetUtils.cmLoginCheck(map, session)) {
return new ModelAndView("/_common/jsp/umessage");
}
System.out.println("1");
//여기서부터 작업할거
String memberNo = (String)session.getAttribute("memberIdx");
System.out.println("12");
//1.사건명칭을 어떤것을 넣어야하는지 확인해주세요.
//2.참석현황 예시 > (2/4회, 50%) 작업필요합니다.
disputeResolutionCommitteeVO = disputeResolutionCommitteeService.resolutionCommitteeInfo(memberNo);
System.out.println("13=");
System.out.println("13="+memberNo);
//참석률
//disputeResolutionCommitteeAttendanceRateVO =disputeResolutionCommitteeService.resolutionCommitteeRate(session.getAttribute("memberIdx").toString());
disputeResolutionCommitteeAttendanceRateVO =disputeResolutionCommitteeService.resolutionCommitteeRate(memberNo);
System.out.println("14");
ModelAndView mav = new ModelAndView();
mav.addObject("drcVO", disputeResolutionCommitteeVO);
mav.addObject("rateVO", disputeResolutionCommitteeAttendanceRateVO);
mav.setViewName("/_extra/user/trublcfrncmng/trublcfrncmngView");
System.out.println("15");
return mav;
}
@RequestMapping(value = "/web/user/proc/{siteIdx}/{siteMenuIdx}/logoutDRC_Proc.do", method=RequestMethod.GET)
public ModelAndView getLogoutProc(HttpSession session, Map<String, Object> map,
@PathVariable(value="siteIdx") String siteIdx,
@PathVariable(value="siteMenuIdx") Integer siteMenuIdx){
setSessionRemove(session);
//session.invalidate();
session.removeAttribute("memberIdx");
session.removeAttribute("memberId");
session.removeAttribute("memberName");
session.removeAttribute("memberDept");
session.removeAttribute("memberTel");
session.removeAttribute("memberPhone");
session.removeAttribute("memberEmail1");
session.removeAttribute("memberEmail2");
map.put("siteIdx", "case");
//map.put("url", "/case/index.do");
//map.put("message", "user.message.medi.alert");
map.put("opener", "");
map.put("append", "");
map.put("self", "");
map.put("message", "common.message.logout.success");
//위치이동은 변경하세요.
map.put("url", "/user/case/202/login.do");
return new ModelAndView("/_common/jsp/umessage");
}
}

View File

@ -179,6 +179,9 @@ public class CommonStatisticsServiceImpl extends AbstractServiceImpl implements
}else if(pageUrl.indexOf("/login") >= 0 || pageUrl.indexOf("/member") >= 0 || pageUrl.indexOf("/jsp/LayOutPage.do") >= 0){
siteIdx = pageUrls[2];
siteMenuIdx = pageUrls[3];
}else if(pageUrl.indexOf("/web") >= 0 || pageUrl.indexOf("/user") >= 0 || pageUrl.indexOf("/case") >= 0){
siteIdx = pageUrls[2];
siteMenuIdx = pageUrls[3];
}else{
siteIdx = pageUrls[3];
siteMenuIdx = pageUrls[5];

View File

@ -763,4 +763,20 @@ public class FairnetUtils {
}
return true;
}
//분쟁조정위원(협의회) 로그인 체크
public static Boolean cmLoginCheck(ModelMap map, HttpSession session) {
String memberIdx = SeedUtils.setReplaceNull(session.getAttribute("memberIdx"));
if("".equals(memberIdx)){
map.put("siteIdx", "case");
map.put("url", "/web/user/case/202/login.do");
map.put("message", "user.message.cmLoginCheck.alert");
map.put("opener", "");
map.put("append", "");
map.put("self", "");
return false;
}
return true;
}
}

View File

@ -3167,4 +3167,5 @@ common.confirm.cancle=\uc2b9\uc778\ucde8\uc18c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
user.message.medi.ci.alert=\ubcf8\uc778\uc778\uc99d\uc744 \uc9c4\ud589\ud574 \uc8fc\uc138\uc694
user.message.medi.ci.alert=\ubcf8\uc778\uc778\uc99d\uc744 \uc9c4\ud589\ud574 \uc8fc\uc138\uc694
user.message.cmLoginCheck.alert=\ub85c\uadf8\uc778\uc744 \uc9c4\ud589\ud574 \uc8fc\uc138\uc694

View File

@ -85,6 +85,8 @@
<pattern>*/gtm/case/trublprocessmng/fileHistoryPop/jsp/Page.do*</pattern>
<!-- <pattern>*/manager/skin/siteSkinHtml.jsp*</pattern> -->
<pattern>*/web/user/*20*.do*</pattern>
<pattern>*/web/user/proc/case/ResolutionCommittee/loginProc.do*</pattern>
</excludes>
<decorator name="adminlayout" page="/WEB-INF/jsp/layout/adminLayout.jsp">

View File

@ -48,8 +48,8 @@
</head>
<body>
<form:form id="frm" action="/user/proc/case/ResolutionCommittee/loginProc.do" method="post">
<input type="hidden" name="next_url" value="/case/subIndex/203.do"/>
<form:form id="frm" action="/web/user/proc/case/ResolutionCommittee/loginProc.do" method="post">
<input type="hidden" name="next_url" value="/web/case/subIndex/203.do"/>
<article class="sub_con_wrap login_wrap">
<div class="sub_con_wrap_inner">
<h2 class="blind">본문</h2>

View File

@ -134,7 +134,7 @@
<div class="tbl_abv_l2" style="float: left;">
<span><span class="bold"><c:out value="${drcVO.memberName }" escapeXml="true"/> 위원님</span> 반갑습니다. 한국공정거래조정원 분쟁조정협의회입니다.</span>
</div>
<p style="float: right;"><a href="/user/proc/case/203/logoutDRC_Proc.do">logout</a></p>
<p style="float: right;"><a href="/web/user/proc/case/203/logoutDRC_Proc.do">logout</a></p>
</div>
<div class="clearfix" style="width: 100%; padding-top: 15px;">

View File

@ -223,7 +223,7 @@
</li>
</ul>
<b class="title depth03 blue_border">한국공정거래조정원은 소상공인 및 중소기업의 권익 보호를 위하여 변호사 및 관련 전문가와의 상담 서비스를 실시하고 있습니다.</b>
<%-- <b class="title depth03 blue_border">한국공정거래조정원은 소상공인 및 중소기업의 권익 보호를 위하여 변호사 및 관련 전문가와의 상담 서비스를 실시하고 있습니다.</b>
<div class="table_type_cols line mobile_view_table">
<table>
@ -257,7 +257,7 @@
</tr>
</tbody>
</table>
</div>
</div> --%>
<div class="table_top title">
<b class="title depth02">상담신청 내용</b>