Merge branch 'JIWOO' into advc
This commit is contained in:
commit
69f72a339c
@ -117,7 +117,8 @@ public class APILoginContoller {
|
||||
resultVO.setAuthority(loginService.getUserAuth(resultVO).getAuthority());
|
||||
}
|
||||
resultVO.setUrl(returnUrl);
|
||||
request.getSession().setAttribute("APILoginVO", resultVO); // LoginVO세션 생성
|
||||
request.getSession().setAttribute("LoginVO", resultVO); // LoginVO세션 생성
|
||||
request.getSession().setAttribute("SSOLoginVO", resultVO); // SSOLogin세션 사용 유지
|
||||
UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter();
|
||||
ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
|
||||
Map<String, UsernamePasswordAuthenticationFilter> beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class);
|
||||
@ -228,21 +229,22 @@ public class APILoginContoller {
|
||||
Map<String, String> response = new HashMap<>();
|
||||
try {
|
||||
loginVO = loginService.selectOffeduMberChk(loginVO);
|
||||
System.out.println("@@@찾교api - ID :"+loginVO.getId()+"key:"+loginVO.getKey());
|
||||
if(loginVO != null) {
|
||||
response.put("result_code", "1");
|
||||
response.put("message", "");
|
||||
System.out.println("@@@찾교api - ID :"+loginVO.getId()+"key:"+loginVO.getKey());
|
||||
loginService.updateMberSeqKeyNull(loginVO);
|
||||
}else {
|
||||
response.put("result_code", "-1");
|
||||
response.put("message", "인증오류입니다.");
|
||||
}
|
||||
//찾교 mber_seq key 값 파기
|
||||
System.out.println("@@@@@찾교 key 파기@@@@@@@@@@");
|
||||
loginService.updateMberSeqKeyNull(loginVO);
|
||||
return ResponseEntity.ok(response);
|
||||
}catch (Exception e) {
|
||||
response.put("result_code", "error");
|
||||
response.put("message", "Internal Server Error: " + e.getMessage());
|
||||
//response.put("message", "Internal Server Error: " + e.getMessage());
|
||||
response.put("message", "오류발생");
|
||||
return ResponseEntity.ok(response);
|
||||
// return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(response);
|
||||
}
|
||||
@ -289,4 +291,88 @@ public class APILoginContoller {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
로그인 세션 테스트용
|
||||
*/
|
||||
@RequestMapping(value = "/web/chkloginKeyForOffeduTest.do")
|
||||
public String chkloginKeyForOffeduTest(RedirectAttributes redirectAttributes, HttpServletRequest request, HttpServletResponse response,HttpSession session) throws Exception {
|
||||
String userId = request.getParameter("user_id");
|
||||
String key = request.getParameter("key");
|
||||
//String returnUrl = paramRequest.get("returnUrl"); //e-배움터 문의결과 returnUrl 컨트롤은 불가능하다고 함
|
||||
String returnUrl = "";
|
||||
|
||||
//테스트를 위한 값 선언
|
||||
/*userId = "std02@forwiz.com";
|
||||
key = "std02@forwiz.comxpnBtqsev3nh9mryXRdL9QRSR72XuNc08ese5iXHb0Waq1dMnSdkHHqKCgoSFeyH.amV1c19kb21haW4vTE1T";
|
||||
returnUrl = "/web/main/mainPage.do";*/
|
||||
|
||||
if(StringUtils.isEmpty(userId) || StringUtils.isEmpty(key)) {
|
||||
return "redirect:/web/main/mainPage.do";
|
||||
}
|
||||
|
||||
Map<String, String> result = loginKeytoEEdu(userId, key);
|
||||
String resultCode = "1";
|
||||
String message = "성공";
|
||||
userId = "test@naver.com";
|
||||
|
||||
if(resultCode.equals("1")) { //API 성공
|
||||
System.out.println("@@@@@@@@@@API성공@@@@@@@@");
|
||||
returnUrl = "/web/main/mainPage.do";//임시 url
|
||||
//회원테이블에 없던 회원이면 insert, 있던 회원이면 update
|
||||
UserManageVO userManageVO = new UserManageVO();
|
||||
userManageVO.setMberId(userId);
|
||||
UserManageVO userManageChk = userManageService.selectOffeduUser(userManageVO);
|
||||
if(userManageChk == null) {
|
||||
userManageVO.setAuthorCode("ROLE_USER_MEMBER");
|
||||
userManageService.insertOffeduUser(userManageVO);
|
||||
System.out.println("@@@@@@@@@@찾교에 계정생성@@@@@@@@@@");
|
||||
}
|
||||
//로그인 처리 시작
|
||||
LoginVO loginVO = new LoginVO();
|
||||
loginVO.setId(userId);
|
||||
loginVO.setPassword("1"); //사용자 로그인만 처리함으로 password 1고정
|
||||
loginVO.setUserSe("GNR");
|
||||
loginVO.setIp(EgovClntInfo.getClntIP(request));
|
||||
|
||||
LoginVO resultVO = loginService.APIActionLogin(loginVO);
|
||||
if (loginService.getUserAuth(resultVO) != null) {
|
||||
resultVO.setAuthority(loginService.getUserAuth(resultVO).getAuthority());
|
||||
}
|
||||
resultVO.setUrl(returnUrl);
|
||||
request.getSession().setAttribute("LoginVO", resultVO); // LoginVO세션 생성
|
||||
UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter();
|
||||
ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
|
||||
Map<String, UsernamePasswordAuthenticationFilter> beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class);
|
||||
if (beans.size() > 0) {
|
||||
springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0];
|
||||
springSecurity.setUsernameParameter("egov_security_username");
|
||||
springSecurity.setPasswordParameter("egov_security_password");
|
||||
springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(request.getServletContext().getContextPath() + "/egov_security_login", "POST"));
|
||||
|
||||
} else {
|
||||
throw new IllegalStateException("No AuthenticationProcessingFilter");
|
||||
}
|
||||
springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null);
|
||||
//doFilter 처리 시 redirect가 불가능하여, context-security.xml에서 login url로 이동 후 redirect 처리
|
||||
System.out.println("@@@@@@@@@@@@@@로그인 처리 완료@@@@@@@@@@@");
|
||||
return "blank";
|
||||
}else if(resultCode.equals("-101")) { //세션 값 만료
|
||||
redirectAttributes.addFlashAttribute("message", message);
|
||||
returnUrl = "/web/main/mainPage.do";
|
||||
return "redirect:" + returnUrl;
|
||||
}else if(resultCode.equals("-102")) { //회원정보 확인불가
|
||||
redirectAttributes.addFlashAttribute("message", message);
|
||||
returnUrl = "/web/main/mainPage.do";
|
||||
return "redirect:" + returnUrl;
|
||||
}else if(resultCode.equals("-1")) { //API 통신 오류
|
||||
redirectAttributes.addFlashAttribute("message", message);
|
||||
returnUrl = "/web/main/mainPage.do";
|
||||
return "redirect:" + returnUrl;
|
||||
}else { //알 수 없는 오류
|
||||
redirectAttributes.addFlashAttribute("message", message);
|
||||
returnUrl = "/web/main/mainPage.do";
|
||||
return "redirect:" + returnUrl;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -1588,10 +1588,12 @@ public class EgovLoginController {
|
||||
|
||||
// e-배움터 연동 로그인 시 - LoginVO 세션의 return url로 이동
|
||||
try {
|
||||
LoginVO eEduLoginVO = (LoginVO) session.getAttribute("APILoginVO");
|
||||
if(eEduLoginVO.getUrl() != null) {
|
||||
return "redirect:" + eEduLoginVO.getUrl();
|
||||
}
|
||||
LoginVO eEduLoginVO = (LoginVO) session.getAttribute("LoginVO");
|
||||
if(eEduLoginVO != null) {
|
||||
if(eEduLoginVO.getUrl() != null) {
|
||||
return "redirect:" + eEduLoginVO.getUrl();
|
||||
}
|
||||
}
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
@ -53,14 +53,14 @@
|
||||
|
||||
<!-- 찾교시스템 SSO Valid 필터 -->
|
||||
<!-- 필터 순서에 유의 -->
|
||||
<filter>
|
||||
<!-- <filter>
|
||||
<filter-name>kccadrLoginValidFilter</filter-name>
|
||||
<filter-class>kcc.let.uat.uia.web.SSOValid</filter-class>
|
||||
</filter>
|
||||
<filter-mapping>
|
||||
<filter-name>kccadrLoginValidFilter</filter-name>
|
||||
<url-pattern>/web/*</url-pattern>
|
||||
</filter-mapping>
|
||||
</filter-mapping> -->
|
||||
|
||||
|
||||
<!-- site mesh -->
|
||||
|
||||
Loading…
Reference in New Issue
Block a user