This commit is contained in:
myname 2025-09-25 17:50:08 +09:00
commit 9536c76214
3 changed files with 326 additions and 354 deletions

View File

@ -342,7 +342,6 @@ public class EgovLoginController {
// 로그인필요 URL 호출하여 온경우
String beforeUrl = (String) commandMap.get("beforeUrl");
String message = (String) commandMap.get("message");
String test = (String) commandMap.get("test");
// 실서버 적용시 바꾸기
String returnSiteUrl = returnSiteUrlGlobal;
@ -361,20 +360,7 @@ public class EgovLoginController {
model.addAttribute("message", message);
model.addAttribute("environment", environment);
//로컬은 셀렉트박스 로그인
//개발은 e배움터 개발서버 로그인
//운영은 e배움터 운영서버 로그인
if("dev".equals(environment)) {
return "redirect:http://223.255.205.7/user/member/loginForm.do?eduOff=Y";
}
if("real".equals(environment)) {
return "redirect:https://edu-copyright.or.kr/user/member/loginForm.do?eduOff=Y";
}
// initRsa(request);
if (test != null && test.equals("test")) {
return "web/kccadr/login/SsoLoginUsr3";
} else {
return "web/kccadr/login/SsoLoginUsr";
}
return "web/kccadr/login/SsoLoginUsr";
}
@ -748,7 +734,323 @@ public class EgovLoginController {
public String selectActionSecurityLoginWeb(@ModelAttribute("loginVO") LoginVO loginVO, HttpServletResponse response, HttpServletRequest request, ModelMap model, HttpSession session,
RedirectAttributes redirectAttributes) throws Exception {
ScriptEngineManager engine = new ScriptEngineManager();
//일반 로그인이 아니므로 1로 세팅
loginVO.setPassword("1");
// 로그인 정보 check
if (loginVO.getId() == null || loginVO.getPassword() == null) {
SsoLoginVO SsoLoginSessionChk = (SsoLoginVO) session.getAttribute("SSOLoginVO");
// SSOLoginVO 세션 체크
if (SsoLoginSessionChk != null) {
loginVO.setId(SsoLoginSessionChk.getMembId());
loginVO.setPassword("1");
} else {
model.addAttribute("message", "로그인을 다시 해주세요.");
// 로그인 페이지로 이동
/*return "/web/kccadr/login/SsoLoginUsr";*/
return "redirect:/web/user/login/ssoLogin.do";
}
}
SsoLoginVO ssologinVO = new SsoLoginVO();
/*231031.개발서버 selectbox 로그인용 임시
isDev 삭제 처리*/
if ((ProfileUtil.isLocal() || ProfileUtil.isTLocal() || ProfileUtil.isDev()) && "Y".equals(loginVO.getIsSelect())) { // sso login
loginVO.setStatusAll("N");
ssologinVO.setMembSeq(loginVO.getId()); //중요
//loginVO = loginService.actionLogin(loginVO);
//기존에 개발자 로그인은 selectbox와 mber_seq로 로그인 처리.
//e배움터 연동 mber_seq는 key로 사용하기 때문에 mber_id로 로그인 처리 과정
//loginVO = loginService.actionLoginDev(loginVO); //개발자 아이디 선택 로그인시
loginVO = loginService.actionLoginMberId(loginVO);
//ssologinVO.setMembSeq(loginVO.getId()); //중요
//loginVO = loginService.actionLoginDev(loginVO); //개발자 아이디 선택 로그인시
//ssologinVO.setMembSeq(loginVO.getId()); //중요
ssologinVO.setMembId(loginVO.getEmail());
// ================== 이름 암호화로 나오는 문제 해결 ====================
ssologinVO.setMembName(egovCryptoUtil.decrypt(loginVO.getName()));
System.out.println("==================임시==================");
// ==== 계속 암호화에 암호화가 되서 임시로 넣음
ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
ssologinVO.setSexCode("M");
ssologinVO.setMembEmail(loginVO.getEmail());
ssologinVO.setMembCelnum(loginVO.getMembCelnum());
ssologinVO.setMembBirth(loginVO.getMembBirth());
/*
* ssologinVO.setMembSmsRecpYn(loginVO.getMembSmsRecpYn());
* ssologinVO.setMembEmailRecpYn(loginVO.getMembEmailRecpYn());
*
* ssologinVO.setDispsettMembDivisCode(loginVO.getDispsettMembDivisCode());
* ssologinVO.setCorpnum(loginVO.getCorpnum());
* ssologinVO.setBuisnRegnum(loginVO.getBuisnRegnum());
* ssologinVO.setCompTitle(loginVO.getCompTitle());
*/
session.setAttribute("SSOLoginVO", ssologinVO);
} else { //sso login
ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
String SsoLoginResult = "";
/* if (ssologinVO == null) {
SSO로그인 SSOLoginVO 세선 생성
SsoLogin ssoLogin = new SsoLogin();
SsoLoginResult = ssoLogin.SsoLogin(loginVO.getId(), loginVO.getPassword(), request);
}
if ("fail".equals(SsoLoginResult)) {
redirectAttributes.addAttribute("message", "아이디 비밀번호를 확인해 주세요.");
redirectAttributes.addFlashAttribute("message", "아이디 비밀번호를 확인해 주세요.");
return "redirect:/web/user/login/ssoLogin.do";
}*/
}
// ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
/*if ("".equals(ssologinVO.getDispsettMembDivisCode())) {
신청 관련코드 받아오면 처리
System.out.println("조정분류코드 없음");
}*/
// 기존에 있던 회원이 아니면 DB에 일련번호 저장
/* UserManageVO userManageVO = new UserManageVO();
userManageVO.setMberSeq(ssologinVO.getMembSeq());
userManageVO = userManageService.selectKccadrUser(userManageVO);
if (null == userManageVO) {
UserManageVO tmpUserManageVO = new UserManageVO();
tmpUserManageVO.setMberSeq(ssologinVO.getMembSeq());
tmpUserManageVO.setAuthorCode("ROLE_USER_MEMBER");
tmpUserManageVO.setEmplyrNm(ssologinVO.getMembName());
tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO);
String result = userManageService.insertUser(tmpUserManageVO);
userManageVO = userManageService.selectKccadrUser(tmpUserManageVO);
}else { //기존에 있던 회원이라면 이름 최신화
UserManageVO tmpUserManageVO = new UserManageVO();
tmpUserManageVO.setMberSeq(ssologinVO.getMembSeq());
tmpUserManageVO.setEmplyrNm(ssologinVO.getMembName());
tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO);
userManageService.updateUserNm(tmpUserManageVO);
}*/
/*loginVO.setId(userManageVO.getEmplyrId());
loginVO.setPassword(userManageVO.getPassword());
*/
/*
* ssoLoginVO에서 아이디와, 일련번호, 부가가입여부 체크해서 DB에 일치하는 정보가 있는지 체크하고 일치하면 통과, 없으면
* ssoLoginVO에서 일련번호, 부가가입여부를 포함한 사용자 정보 DB에 insert
*/
loginVO.setUserSe("GNR");
// 로그인 정보 check
/*
* if(loginVO.getId() == null || loginVO.getPassword() == null){ // 회원가입 로그인
* 처리 LoginVO pLoginVO = (LoginVO)request.getAttribute("pLoginVO"); if (pLoginVO
* == null) { // RSA 생성 initRsa(request); return
* "redirect:/web/user/login/login.do"; } else {
* loginVO.setId(pLoginVO.getId()); loginVO.setPassword(pLoginVO.getPassword());
* loginVO.setBeforeUrl(pLoginVO.getBeforeUrl());
* loginVO.setMessage(pLoginVO.getMessage()); } }
*/
// 관리자 유무 체크
List<EgovMap> authorities = (List<EgovMap>) loginService.selectAuthorities(loginVO);
Boolean adminFlag = false;
for (EgovMap authority : authorities) {
// admin_auth_code 최하위 관리자 Roll 코드
if (authority.get("authorCode").equals(propertiesService.getString("admin_auth_code")))
adminFlag = true;
}
// 관리자 로그인 막기
if (adminFlag) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
// RSA 생성
// initRsa(request);
return "web/site/login/EgovLoginGnrlUsr";
}
// 1. 일반 로그인 처리
LoginVO resultVO;
// 복호화
loginVO.setStatusAll("Y"); // 신청대기중인 사용자까지 조회
/* loginVO.setUserSe("GNR"); */
resultVO = loginService.actionLogin(loginVO);
// 로그인 권한조회
resultVO.setAuthority(loginService.getUserAuth(resultVO).getAuthority());
System.out.println("==1==");
String alertMessage = "";
if (!"admin".equals(loginVO.getId())) {
if (null == resultVO.getId()) { // 로그인 실패
/* loginService.updatePassMissPlus(loginVO); */
alertMessage = egovMessageSource.getMessage("fail.common.login");
// 로그인 실패이면 메인페이지로 이동
return goUserLoginPage(redirectAttributes, request, model, alertMessage);
} /*
* else{ if(resultVO.getPassMiss() > 5) { alertMessage =
* "패스워드가 5회 이상 틀려 로그인 할수 없습니다. 관리자에게 문의하시기 바랍니다."; return
* goUserLoginPage(redirectAttributes, request, model, alertMessage); }else
* if("A".equals(resultVO.getEmplyrSttusCode())){ //신청상태 alertMessage =
* "신청하신 아이디가 현제 승인대기 상태입니다."; return goUserLoginPage(redirectAttributes,
* request, model, alertMessage); }else
* if("B".equals(resultVO.getEmplyrSttusCode())){ //신청상태 alertMessage =
* "아이디가 차단상태가 되어 사용할수 없습니다."; return goUserLoginPage(redirectAttributes,
* request, model, alertMessage); } loginService.updatePassMissReset(loginVO); }
*/
}
boolean loginPolicyYn = true;
System.out.println("==12==");
// 접속IP
String userIp = EgovClntInfo.getClntIP(request);
// resultVO.siteId 로그인 ip를 조회함
if (resultVO != null && resultVO.getId() != null && !resultVO.getId().equals("") && loginPolicyYn) {
// 세션에다 ip 등록
resultVO.setIp(userIp);
System.out.println("==13==");
// LoginVO세션에 사용자 정보 넣기
resultVO.setMembSeq(ssologinVO.getMembSeq());
resultVO.setMembId(ssologinVO.getMembId());
resultVO.setMembName(ssologinVO.getMembName());
resultVO.setMembSeq(ssologinVO.getMembSeq());
resultVO.setMembCi(ssologinVO.getMembCi());
resultVO.setMembEmail(ssologinVO.getMembEmail());
resultVO.setMembCelnum(ssologinVO.getMembCelnum());
resultVO.setMembBirth(ssologinVO.getMembBirth());
resultVO.setMembSmsRecpYn(ssologinVO.getMembSmsRecpYn());
resultVO.setMembEmailRecpYn(ssologinVO.getMembEmailRecpYn());
resultVO.setSexCode(ssologinVO.getSexCode());
resultVO.setDispsettMembDivisCode(ssologinVO.getDispsettMembDivisCode());
resultVO.setCorpnum(ssologinVO.getCorpnum());
resultVO.setBuisnRegnum(ssologinVO.getBuisnRegnum());
resultVO.setCompTitle(ssologinVO.getCompTitle());
// 2. spring security 연동
request.getSession().setAttribute("LoginVO", resultVO); // LoginVO세션 생성
System.out.println("@@@@로그인VO:"+resultVO+"@@@@@@");
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");
}
System.out.println("==14=1=");
springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null);
try{
System.out.println("==14=1=");
System.out.println("EgovUserDetailsHelper.isAuthenticated()");
System.out.println(EgovUserDetailsHelper.isAuthenticated());
}catch(Exception ex){
ex.printStackTrace();
}
{ // 관리자 로그인 log 저장
String uniqId = "";
String ip = "";
/* Authenticated */
LoginLog loginLog = new LoginLog();
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (isAuthenticated.booleanValue()) {
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
uniqId = user.getUniqId();
ip = EgovClntInfo.getClntIP(request);
HttpSession httpSession = request.getSession(true);
{
List<SiteManagerVO> siteManageList = new ArrayList<SiteManagerVO>();
SiteManagerVO siteManagerVO = new SiteManagerVO();
siteManagerVO.setFirstIndex(0);
siteManagerVO.setRecordCountPerPage(100);
siteManageList = egovSiteManagerService.selectSiteManagerList(siteManagerVO);
httpSession.setAttribute("siteManageList", siteManageList);
httpSession.setAttribute("loginId", user.getId()); // 자동완성 공통으로 쓰기위해
httpSession.setAttribute("esntlId", user.getPassword());
}
}
loginLog.setLoginId(uniqId);
loginLog.setLoginIp(ip);
loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O
loginLog.setErrOccrrAt("N");
loginLog.setErrorCode("");
// 로그인은 관리자, PC만
loginLog.setUserAt("U"); // 사용자
loginLog.setDeviceType("P"); // PC
loginLog.setProgrmFileNm("adminLogin");
loginLog.setMenuNm("관리자로그인");
loginLogService.logInsertLoginLog(loginLog);
System.out.println("==15=0=");
}
// session.setAttribute("beforeSiteUrl", request.getRequestURI());
System.out.println("session.getAttributesession.getAttributesession.getAttributesession.getAttribute");
loginVO.setBeforeUrl((String) request.getSession().getAttribute("beforeSiteUrl"));
// 로그인 URL 호출
if (loginVO.getBeforeUrl() != null && !("").equals(loginVO.getBeforeUrl())) {
request.getSession().setAttribute("usrBeforeUrl", loginVO.getBeforeUrl());
// 회원가입 메세지 처리
if (loginVO.getMessage() != null && !("").equals(loginVO.getMessage())) {
request.getSession().setAttribute("registMessage", loginVO.getMessage());
}
}
System.out.println("==16=0=");
// 개인키 삭제
// 성공시 웹페이지 분기로 인해 session에 페이지 타입을 넣어준다.
request.getSession().setAttribute("pageType", "web");
return "blank"; // 성공 페이지.. (redirect 불가)
} else {
String message = egovMessageSource.getMessage("fail.common.login");
redirectAttributes.addAttribute("beforeUrl", loginVO.getBeforeUrl());
redirectAttributes.addAttribute("message", message);
return "redirect:/web/user/login/login.do";
}
}
/**
* (사용자) 일반(스프링 시큐리티) 로그인을 처리한다(SSO ID/PW를 통한 로그인 처리)
*
* @param vo - 아이디, 비밀번호가 담긴 LoginVO
* @param request - 세션처리를 위한 HttpServletRequest
* @return result - 로그인결과(세션정보)
* @exception Exception
*/
@RequestMapping(value = "/web/user/login/actionSecurityLogin_back.do")
public String selectActionSecurityLoginWeb_back(@ModelAttribute("loginVO") LoginVO loginVO, HttpServletResponse response, HttpServletRequest request, ModelMap model, HttpSession session,
RedirectAttributes redirectAttributes) throws Exception {
// 로그인 정보 check
if (loginVO.getId() == null || loginVO.getPassword() == null) {
@ -767,7 +1069,7 @@ public class EgovLoginController {
}
SsoLoginVO ssologinVO = new SsoLoginVO();
/*231031.개발서버 selectbox 로그인용 임시
isDev 삭제 처리*/
if ((ProfileUtil.isLocal() || ProfileUtil.isTLocal() || ProfileUtil.isDev()) && "Y".equals(loginVO.getIsSelect())) { // sso login
@ -1013,18 +1315,6 @@ public class EgovLoginController {
httpSession.setAttribute("siteManageList", siteManageList);
httpSession.setAttribute("loginId", user.getId()); // 자동완성 공통으로 쓰기위해
httpSession.setAttribute("esntlId", user.getPassword());
// 최근검색어 조회 세션에 넣어줌
/*
* UserManageVO tempUserManageVO = new UserManageVO();
* tempUserManageVO.setEmplyrId(user.getId()); tempUserManageVO =
* userManageService.selectRecentSearchWord(tempUserManageVO);
*
* List<String> lisRecentSearch = new ArrayList<String>(); if(null !=
* tempUserManageVO){ //ArrayList 세션 저장
* Collections.addAll(lisRecentSearch,tempUserManageVO.getSearchWord().split(","
* )) ; } httpSession.setAttribute("recentSearch", lisRecentSearch) ;
*/
}
}

View File

@ -1,109 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="utf-8"%>
<!DOCTYPE HTML>
<html lang="ko">
<!-- <head> -->
<!-- <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> -->
<!-- <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> -->
<script type="text/javascript" src="/MagicLine4Web/ML4Web/js/ext/jquery-1.10.2.js"></script>
<script type="text/javascript" src="/MagicLine4Web/ML4Web/js/ext/jquery-ui.min.js"></script>
<script type="text/javascript" src="/MagicLine4Web/ML4Web/js/ext/jquery.blockUI.js"></script>
<script type="text/javascript" src="/MagicLine4Web/ML4Web/js/ext/json2.js"></script>
<!-- ML4WEB JS -->
<script type="text/javascript" src="/MagicLine4Web/ML4Web/js/ext/ML_Config.js"></script>
<!-- </head> -->
<!-- <body> -->
<script type="text/javascript">
//alert(location.protocol);
//alert(location.protocol +'//'+ location.host);
//alert( location.host);
function mlCallBack(code, message){
if(code==0){
// 정상메시지
var data = encodeURIComponent(message.encMsg);
document.reqForm.signedData.value = data;
if(message.vidRandom != null){
document.reqForm.vidRandom.value = encodeURIComponent(message.vidRandom);
}
//document.reqForm.submit();
extractData();
}else{
alert("결과값 수신에 실패하였습니다.");
return;
}
}
/* 인증서 데이터 가져오기 function */
function extractData(){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
var data = new FormData(document.reqForm == undefined ? document.board : document.reqForm);
var url = "";
url = "/web/kccadr/cert/ExtractCertDataAjax.do";
$.ajax({
type: "POST",
//enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
//alert(returnData.message);
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if (returnData.result=='0'){
//인증 완료 후 호출 함수 부모창에 선언된 fn_result(인증결과 파라미터SN값 파라미터) 콜백함수 호출
fn_result(returnData.SN);
}else{
alert("비정상."+returnData.message); //비정상시 메시지
}
} else if(status== 'fail'){
alert("인증서 확인에 실패하였습니다.");
}
// location.reload();
},
error: function (request,status,error) {
//alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
alert("인증서 확인에 실패하였습니다.");
console.log("ERROR : ", e);
location.reload();
}
});
}
</script>
<form id='reqForm' name='reqForm' method='post'>
<input type="hidden" id="signData" name="signData" value="Login"/>
<input type="hidden" id="signedData" name="signedData"/>
<input type="hidden" id="vidRandom" name="vidRandom"/>
<input type="hidden" id="vidType" name="vidType" value="client"/>
<input type="hidden" id="crtfc_sn" name="crtfc_sn" value=""/>
</form>
<div id="dscertContainer">
<iframe id="dscert" name="dscert" src="" width="100%" height="100%" frameborder="0" allowTransparency="true" style="position:fixed;z-index:100010;top:0px;left:0px;width:100%;height:100%;"></iframe>
</div>
<!-- </body> -->

View File

@ -77,24 +77,6 @@ function actionLogin2() {
document.loginForm.submit();
}
/* 아이디 비밀번호 찾기 link */
function usrIdPassFind(choose){
var gsWin = window.open('about:blank','usrIdPassFind','');
var frm = document.usrForm;
frm.target ="usrIdPassFind";
var actionUrl;
frm.returnSiteCode.value = "<c:out value='${returnSiteCode}'/>";
frm.returnSiteUrl.value = "<c:out value='${returnSiteUrl}'/>";
if(choose == 'id'){
actionUrl = "<c:url value='${idFindUrl}'/>";
}else{
actionUrl = "<c:url value='${pwFindUrl}'/>";
}
frm.action = actionUrl;
frm.submit();
}
</script>
<div class="cont_wrap" id="sub" style="width: 100%">
<form:form id="loginForm" name="loginForm" method="post" action="/web/user/login/actionSecurityLogin.do">
@ -117,45 +99,15 @@ function usrIdPassFind(choose){
<div class="login_wrap">
<p class="login_tit">
<span>로그인</span>
해주세요
로그인 해주세요</br>
<span>사이트 오픈 시 셀렉트 박스를 통한 로그인은 삭제됩니다.</span>
</p>
<%-- <kc:profile value="local"> --%>
개발자 아이디 선택 : <select id="devIdSelect" style="width: 400px; height: 30px;" onchange="login()">
<option value="">로그인할 아이디를 선택해주세요.</option>
<!-- e배움터 연동 전 mber_seq로 로그인 처리 -->
<!-- <option value="3000118:1">공통 담당자1 (USRCNFRM_00000002620)_성인강사1</option>
<option value="3000119:1">공통 담당자3 (USRCNFRM_00000002614)_성인강사2</option>
<option value="3000122:1">공통 담당자x (USRCNFRM_00000002610)_청소년강사1</option>
<option value="3000120:1">사용자_김x호(USRCNFRM_00000002612)_청소년강사2</option>
<option value="3000125:1">개발팀 사용자(USRCNFRM_00000002613)_일반사용자1</option>
<option value="3000128:1">개발팀 사용자(USRCNFRM_00000002720)_일반사용자2</option> -->
<!-- e배움터 연동 후 mber_id로 로그인 처리 -->
<option value="USRCNFRM_00000002620:1">공통 담당자1 (USRCNFRM_00000002620)_성인강사1</option>
<option value="USRCNFRM_00000002614:1">공통 담당자3 (USRCNFRM_00000002614)_성인강사2</option>
<option value="USRCNFRM_00000002610:1">공통 담당자x (USRCNFRM_00000002610)_청소년강사1</option>
<option value="USRCNFRM_00000002612:1">사용자_김x호(USRCNFRM_00000002612)_청소년강사2</option>
<option value="USRCNFRM_00000002613:1">개발팀 사용자(USRCNFRM_00000002613)_일반사용자1</option>
<option value="USRCNFRM_00000002720:1">개발팀 사용자(USRCNFRM_00000002720)_일반사용자2</option>
<option value="eduoff1@forwiz.com:1">테스트계정1 (eduoff1@forwiz.com)_테스트계정1</option>
<option value="eduoff2@forwiz.com:1">테스트계정2 (eduoff2@forwiz.com)_테스트계정2</option>
<option value="eduoff3@forwiz.com:1">테스트계정3 (eduoff3@forwiz.com)_테스트계정3</option>
<option value="eduoff4@forwiz.com:1">테스트계정4 (eduoff4@forwiz.com)_테스트계정4</option>
<option value="eduoff5@forwiz.com:1">테스트계정5 (eduoff5@forwiz.com)_테스트계정5</option>
<option value="eduoff6@forwiz.com:1">테스트계정6 (eduoff6@forwiz.com)_테스트계정6</option>
<option value="USRCNFRM_00000002650:1">기소유예사용자 1 (USRCNFRM_00000002650)_기소유예사용자 1</option>
<option value="USRCNFRM_00000002970:1">기소유예사용자 2 (USRCNFRM_00000002970)_기소유예사용자 2</option>
<option value="USRCNFRM_00000003070:1">기소유예사용자 3 (USRCNFRM_00000003070)_기소유예사용자 3</option>
@ -167,179 +119,18 @@ function usrIdPassFind(choose){
<option value="USRCNFRM_00000002941:1">기소유예사용자 9 (USRCNFRM_00000002941)_기소유예사용자 9</option>
<option value="USRCNFRM_00000002872:1">기소유예사용자 10 (USRCNFRM_00000002872)_기소유예사용자 10</option>
<!--
<option value="3000118:1">공통 담당자1 (USRCNFRM_00000002620)_우영두</option>
<option value="3000116:1">공통 담당자2 (USRCNFRM_00000002611)_여현준</option>
<option value="3000119:1">공통 담당자3 (USRCNFRM_00000002614)_원영현</option>
<option value="3000122:1">공통 담당자x (USRCNFRM_00000002610)_이준호</option>
<option value="3000120:1">사용자_김x호(USRCNFRM_00000002612)_안주영</option>
<option value="3000117:1">공통 사용자(USRCNFRM_00000002650)_이지우</option>
<option value="3000125:1">개발팀 사용자(USRCNFRM_00000002613)_정수빈</option>
<option value="3000128:1">개발팀 사용자(USRCNFRM_00000002720)_김지훈</option>
<option value="3000127:1">개발팀 사용자(USRCNFRM_00000002630)_이소미</option>
<option value="3000126:1">개발팀 사용자(USRCNFRM_00000002710)_최하연</option>
-->
<!--
<option value="USRCNFRM_00000002620:1">공통 담당자1 (USRCNFRM_00000002620)_우영두</option>
<option value="USRCNFRM_00000002611:1">공통 담당자2 (USRCNFRM_00000002611)_여현준</option>
<option value="USRCNFRM_00000002614:1">공통 담당자3 (USRCNFRM_00000002614)_원영현</option>
<option value="USRCNFRM_00000002610:1">공통 담당자x (USRCNFRM_00000002610)_이준호</option>
<option value="USRCNFRM_00000002612:1">사용자_김x호(USRCNFRM_00000002612)_안주영</option>
<option value="USRCNFRM_00000002650:1">공통 사용자(USRCNFRM_00000002650)_이지우</option>
<option value="USRCNFRM_00000002613:1">개발팀 사용자(USRCNFRM_00000002613)_정수빈</option>
<option value="USRCNFRM_00000002720:1">개발팀 사용자(USRCNFRM_00000002720)_김지훈</option>
<option value="USRCNFRM_00000002630:1">개발팀 사용자(USRCNFRM_00000002630)_이소미</option>
<option value="USRCNFRM_00000002710:1">개발팀 사용자(USRCNFRM_00000002710)_최하연</option>
-->
</select>
<br></br>
<!--
아이디 선택 : <select id="itnIdSelect" style="width: 400px; height: 30px;" onchange="actionLogin('Y')">
<option value="">로그인할 아이디를 선택해주세요.</option>
<option value="rosehips@naver.com:copyright123$">담당자1(USRCNFRM_00000002620)_우영두</option>
<option value="yu3145@naver.com:copyright123$">담당자2 (USRCNFRM_00000002611)_여현준</option>
<option value="wyh2010@naver.com:copyright123$">담당자3 (USRCNFRM_00000002614)_원영현</option>
<option value="tolag3@gmail.com:copyright123$">담당자x (USRCNFRM_00000002610)_이준호</option>
<option value="peaceack@gmail.com:copyright123$">사용자_김x호(USRCNFRM_00000002612)_안주영</option>
<option value="dlwldn1024@gmail.com:copyright123$">사용자_이x우(USRCNFRM_00000002650)_이지우</option>
<option value="dhgksk99@gmail.com:copyright123$">사용자_정x빈(USRCNFRM_00000002613)_정수빈</option>
<option value="rownim@naver.com:copyright123$">사용자_김x훈(USRCNFRM_00000002720)_김지훈</option>
<option value="soming90@nate.com:copyright123$">사용자_이x미(USRCNFRM_00000002630)_이소미</option>
<option value="chylove0132@gmail.com:copyright123$">사용자_최x연(USRCNFRM_00000002710)_최하연</option>
</select>
-->
<br></br>
<%-- </kc:profile> --%>
<div class="login_form">
<label for="id_text" class="label">아이디 입력</label>
<input type="text" id="id_text" placeholder="아이디를 입력해주세요">
<label for="password_text" class="label">비밀번호 입력</label>
<input type="password" id="password_text" onkeypress="press(event)" placeholder="비밀번호를 입력해주세요">
<label for="id_text" class="label" style="display:none">아이디 입력</label>
<input type="text" id="id_text" placeholder="아이디를 입력해주세요" style="display:none">
<label for="password_text" class="label" style="display:none">비밀번호 입력</label>
<input type="password" id="password_text" onkeypress="press(event)" placeholder="비밀번호를 입력해주세요" style="display:none">
<div class="login_btn_wrap">
<button type="button" onclick="javascript:actionLogin();" class="btn_login">로그인</button>
<button type="button" onclick="window.open('<c:out value='${joinUrl}'/>')" title="새창열림" class="btn_join">회원가입</button>
<button type="button" onclick="javascript:actionLogin2();" class="btn_join">e배움터로그인</button>
</div>
<div class="login_util">
<a href="#" title="새창열림" onclick="javascript:usrIdPassFind('id')">아이디 찾기</a>
<a href="#" title="새창열림" onclick="javascript:usrIdPassFind('pass')" >비밀번호 찾기</a>
<button type="button" onclick="javascript:actionLogin();" class="btn_login">본인인증</button>
</div>
</div>
</div>
<%-- <div class="cont_wrap login_cont" id="sub">
<div class="inner">
<div class="cont_tit">
<h2>로그인</h2>
</div>
<fieldset>
<div class="login_wrap">
<p class="login_tit">
<span>로그인</span>
해주세요
</p>
<kc:profile value="local">
개발자 아이디 선택 : <select id="devIdSelect" style="width: 400px; height: 30px;" onchange="login()">
<option value="">로그인할 아이디를 선택해주세요.</option>
<option value="3000118:1">공통 담당자1 (USRCNFRM_00000002620)_우영두</option>
<option value="3000116:1">공통 담당자2 (USRCNFRM_00000002611)_여현준</option>
<option value="3000119:1">공통 담당자3 (USRCNFRM_00000002614)_원영현</option>
<option value="3000122:1">공통 담당자x (USRCNFRM_00000002610)_이준호</option>
<option value="3000120:1">사용자_김x호(USRCNFRM_00000002612)_안주영</option>
<option value="3000117:1">공통 사용자(USRCNFRM_00000002650)_이지우</option>
<option value="3000125:1">개발팀 사용자(USRCNFRM_00000002613)_정수빈</option>
<option value="3000128:1">개발팀 사용자(USRCNFRM_00000002720)_김지훈</option>
<option value="3000127:1">개발팀 사용자(USRCNFRM_00000002630)_이소미</option>
<option value="3000126:1">개발팀 사용자(USRCNFRM_00000002710)_최하연</option>
<!--
<option value="USRCNFRM_00000002620:1">공통 담당자1 (USRCNFRM_00000002620)_우영두</option>
<option value="USRCNFRM_00000002611:1">공통 담당자2 (USRCNFRM_00000002611)_여현준</option>
<option value="USRCNFRM_00000002614:1">공통 담당자3 (USRCNFRM_00000002614)_원영현</option>
<option value="USRCNFRM_00000002610:1">공통 담당자x (USRCNFRM_00000002610)_이준호</option>
<option value="USRCNFRM_00000002612:1">사용자_김x호(USRCNFRM_00000002612)_안주영</option>
<option value="USRCNFRM_00000002650:1">공통 사용자(USRCNFRM_00000002650)_이지우</option>
<option value="USRCNFRM_00000002613:1">개발팀 사용자(USRCNFRM_00000002613)_정수빈</option>
<option value="USRCNFRM_00000002720:1">개발팀 사용자(USRCNFRM_00000002720)_김지훈</option>
<option value="USRCNFRM_00000002630:1">개발팀 사용자(USRCNFRM_00000002630)_이소미</option>
<option value="USRCNFRM_00000002710:1">개발팀 사용자(USRCNFRM_00000002710)_최하연</option>
-->
</select>
<br></br>
아이디 선택 : <select id="itnIdSelect" style="width: 400px; height: 30px;" onchange="actionLogin('Y')">
<option value="">로그인할 아이디를 선택해주세요.</option>
<option value="rosehips@naver.com:copyright123$">담당자1(USRCNFRM_00000002620)_우영두</option>
<option value="yu3145@naver.com:copyright123$">담당자2 (USRCNFRM_00000002611)_여현준</option>
<option value="wyh2010@naver.com:copyright123$">담당자3 (USRCNFRM_00000002614)_원영현</option>
<option value="tolag3@gmail.com:copyright123$">담당자x (USRCNFRM_00000002610)_이준호</option>
<option value="peaceack@gmail.com:copyright123$">사용자_김x호(USRCNFRM_00000002612)_안주영</option>
<option value="dlwldn1024@gmail.com:copyright123$">사용자_이x우(USRCNFRM_00000002650)_이지우</option>
<option value="dhgksk99@gmail.com:copyright123$">사용자_정x빈(USRCNFRM_00000002613)_정수빈</option>
<option value="rownim@naver.com:copyright123$">사용자_김x훈(USRCNFRM_00000002720)_김지훈</option>
<option value="soming90@nate.com:copyright123$">사용자_이x미(USRCNFRM_00000002630)_이소미</option>
<option value="chylove0132@gmail.com:copyright123$">사용자_최x연(USRCNFRM_00000002710)_최하연</option>
<!--
<option value="rosehips@naver.com:copyright123$">사용자_곽x태(USRCNFRM_00000002563)_우영두</option>
<option value="yu3145@naver.com:copyright123$">담당자2 (USRCNFRM_00000002561)_여현준</option>
<option value="wyh2010@naver.com:copyright123$">담당자3 (USRCNFRM_00000002562)_원영현</option>
<option value="tolag3@gmail.com:copyright123$">담당자x (USRCNFRM_00000002560)_이준호</option>
<option value="peaceack@gmail.com:copyright123$">사용자_김x호(USRCNFRM_00000002564)_안주영</option>
<option value="dlwldn1024@gmail.com:copyright123$">사용자_이x우(USRCNFRM_00000002570)_이지우</option>
<option value="dhgksk99@gmail.com:copyright123$">사용자_정x빈(USRCNFRM_00000002585)_정수빈</option>
<option value="rownim@naver.com:copyright123$">사용자_김x훈(USRCNFRM_00000002590)_김지훈</option>
<option value="soming90@nate.com:copyright123$">사용자_이x미(USRCNFRM_00000002591)_이소미</option>
<option value="chylove0132@gmail.com:copyright123$">사용자_최x연(USRCNFRM_00000002592)_최하연</option>
-->
</select>
<br></br>
</kc:profile>
<div class="login_form">
<label for="id_text">아이디 입력</label>
<input type="text" id="id_text" placeholder="아이디를 입력해주세요">
<label for="password_text">비밀번호 입력</label>
<input type="password" id="password_text" onkeypress="press(event)" placeholder="비밀번호를 입력해주세요">
<div class="btn_wrap">
<button type="button" onclick="javascript:actionLogin();" class="btn_login">로그인</button>
<button type="button" onclick="window.open('<c:out value='${joinUrl}'/>')" title="새창열림" class="btn_join">회원가입</button>
</div>
<div class="login_util">
<a href="#" target="_black" title="새창열림" onclick="javascript:usrIdPassFind('id')">아이디 찾기</a>
<a href="#" target="_black" title="새창열림" onclick="javascript:usrIdPassFind('pass')">비밀번호 찾기</a>
</div>
</div>
</div>
</fieldset>
</div>
</div> --%>
<!-- //cont -->
</form:form>
</div>
<form id="usrForm" name="usrForm" method="post" action="">
<input type="hidden" id="returnSiteCode" name="returnSiteCode" value="" />
<input type="hidden" id="returnSiteUrl" name="returnSiteUrl" value="" />
</form>