|
|
|
@ -12,190 +12,9 @@
|
|
|
|
|
<head>
|
|
|
|
|
<meta http-equiv="Content-Language" content="ko" >
|
|
|
|
|
<title>로그인</title>
|
|
|
|
|
<link href="<c:url value='/'/>resources/css/common.css" rel="stylesheet" type="text/css" >
|
|
|
|
|
<link href="<c:url value='/'/>resources/css/login.css" rel="stylesheet" type="text/css" >
|
|
|
|
|
<script type="text/javascript" src="<c:url value='/'/>resources/3rd-party/jquery/3.6.1/jquery.min.js"></script>
|
|
|
|
|
<%-- <link href="<c:url value='/'/>resourcescss/style.css" rel="stylesheet" type="text/css" > --%>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
<link href="<c:url value='/'/>resources/framework/css/common.css" rel="stylesheet" type="text/css" >
|
|
|
|
|
<link href="<c:url value='/'/>resources/framework/css/login.css" rel="stylesheet" type="text/css" >
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 로그인
|
|
|
|
|
*/
|
|
|
|
|
function actionLogin() {
|
|
|
|
|
|
|
|
|
|
if (document.loginForm.id.value =="") {
|
|
|
|
|
alert("아이디를 입력하세요");
|
|
|
|
|
return false;
|
|
|
|
|
} else if (document.loginForm.password.value =="") {
|
|
|
|
|
alert("비밀번호를 입력하세요");
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
document.loginForm.action="<c:url value='/login/actionSecurityLogin.do'/>";
|
|
|
|
|
//document.loginForm.j_username.value = document.loginForm.userSe.value + document.loginForm.username.value;
|
|
|
|
|
//document.loginForm.action="<c:url value='/j_spring_security_check'/>";
|
|
|
|
|
document.loginForm.submit();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 쿠키 설정
|
|
|
|
|
*/
|
|
|
|
|
function setCookie (name, value, expires) {
|
|
|
|
|
document.cookie = name + "=" + escape (value) + "; path=/; expires=" + expires.toGMTString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 쿠키 조회
|
|
|
|
|
* -쿠키에 저장된 목록을 조회 한다.
|
|
|
|
|
*/
|
|
|
|
|
function getCookie(Name) {
|
|
|
|
|
var search = Name + "="
|
|
|
|
|
if (document.cookie.length > 0) { // 쿠키가 설정되어 있다면
|
|
|
|
|
offset = document.cookie.indexOf(search)
|
|
|
|
|
if (offset != -1) { // 쿠키가 존재하면
|
|
|
|
|
offset += search.length
|
|
|
|
|
// set index of beginning of value
|
|
|
|
|
end = document.cookie.indexOf(";", offset)
|
|
|
|
|
// 쿠키 값의 마지막 위치 인덱스 번호 설정
|
|
|
|
|
if (end == -1)
|
|
|
|
|
end = document.cookie.length
|
|
|
|
|
return unescape(document.cookie.substring(offset, end))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 쿠키에 ID 저장or제거
|
|
|
|
|
* -"로그인ID 저장여부"를 check 시 일정기간동안 쿠키에 ID를 저장 한다.
|
|
|
|
|
* -"로그인ID 저장여부"를 uncheck 시 쿠키에 저장된 ID를 삭제 한다.
|
|
|
|
|
*/
|
|
|
|
|
function saveid(form) {
|
|
|
|
|
var expdate = new Date();
|
|
|
|
|
// 기본적으로 30일동안 기억하게 함. 일수를 조절하려면 * 30에서 숫자를 조절하면 됨
|
|
|
|
|
if (form.checkId.checked)
|
|
|
|
|
expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * 30); // 30일
|
|
|
|
|
else
|
|
|
|
|
expdate.setTime(expdate.getTime() - 1); // 쿠키 삭제조건
|
|
|
|
|
setCookie("saveid", form.id.value, expdate);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 쿠키에 저장된 ID 취득
|
|
|
|
|
* -저장된 ID가 존재할 경우 "로그인ID 저장여부"항목을 check 설정 한다.
|
|
|
|
|
*/
|
|
|
|
|
function getid(form) {
|
|
|
|
|
form.checkId.checked = ((form.id.value = getCookie("saveid")) != "");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function fnInit() {
|
|
|
|
|
var message = document.loginForm.message.value;
|
|
|
|
|
if (message != "") {
|
|
|
|
|
alert(message);
|
|
|
|
|
}
|
|
|
|
|
// getid(document.loginForm);
|
|
|
|
|
|
|
|
|
|
$('#id').focus();
|
|
|
|
|
|
|
|
|
|
CaptchaUtil.init();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 회원가입 팝업
|
|
|
|
|
*/
|
|
|
|
|
function fnReg(){
|
|
|
|
|
var popUrl ="${ctx}/_anonymous_/login/UserReg_input.do";
|
|
|
|
|
var popOption = "width=840px, height=500px, resizable=no, scrollbars=yes, location=no, top=100px, left=100px";
|
|
|
|
|
var target = '사용자등록';
|
|
|
|
|
|
|
|
|
|
window.open(popUrl,target,popOption);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 아이디 찾기 팝업
|
|
|
|
|
*/
|
|
|
|
|
function fn_FindId(){
|
|
|
|
|
var popUrl = "${ctx}/login/FindId_input_popup.do";
|
|
|
|
|
var popOption = "width=500px, height=300x, resizable=no, location=no, top=100px, left100px";
|
|
|
|
|
var target = '아이디 찾기';
|
|
|
|
|
|
|
|
|
|
window.open(popUrl,target,popOption);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 비밀번호 찾기 팝업
|
|
|
|
|
*/
|
|
|
|
|
function fn_FindPw(){
|
|
|
|
|
var popUrl = "${ctx}/login/FindPwd_input_popup.do";
|
|
|
|
|
var popOption = "width=500px, height=330px, resizable=no, location=no, top=100px, left100px";
|
|
|
|
|
var target = '비밀번호 찾기';
|
|
|
|
|
|
|
|
|
|
window.open(popUrl,target,popOption);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 캡차 인증 도구
|
|
|
|
|
* @date 2020.09.22.
|
|
|
|
|
* @author 박민규
|
|
|
|
|
*/
|
|
|
|
|
var CaptchaUtil = {
|
|
|
|
|
init: function(){
|
|
|
|
|
//캡차인증 이미지 출력
|
|
|
|
|
CaptchaUtil.refresh();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//새로고침 버튼 EventListener 설정
|
|
|
|
|
$('#btn_captchaRefresh').on({
|
|
|
|
|
click: function(){
|
|
|
|
|
CaptchaUtil.refresh();
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//자동로그인방지문자 입력란 EventListener 설정
|
|
|
|
|
$('#captcha').on({
|
|
|
|
|
keypress: function(){
|
|
|
|
|
if(event.keyCode==13){
|
|
|
|
|
actionLogin();
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
keyup: function(){
|
|
|
|
|
this.value = this.value.toLowerCase();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
refresh: function(){
|
|
|
|
|
/* ==============================
|
|
|
|
|
* 2020.09.22 박민규
|
|
|
|
|
* IE 동작이슈 처리
|
|
|
|
|
* -사유: 크롬에서 정상동작 하나 IE에서 img 태그에 이미지가 출력된 상태에서
|
|
|
|
|
* document.querySelector('#captchaImg').setAttribute('src', url)를 호출해도 이벤트가 발생하지 않음.
|
|
|
|
|
* -해결: 이미지 태그의 src(이미지 경로)를 제거 후 timeout을 이용하여 일정시간 후 document.querySelector('#captchaImg').setAttribute('src', url) 호출
|
|
|
|
|
============================== */
|
|
|
|
|
//2020.09.22 주석처리
|
|
|
|
|
// var url = '<c:url value="/_anonymous_/captcha.do"/>';
|
|
|
|
|
// document.querySelector('#captchaImg').setAttribute('src', url);
|
|
|
|
|
var url = '<c:url value="/_anonymous_/captcha.do"/>';
|
|
|
|
|
// IE old version ( IE 10 or Lower )
|
|
|
|
|
if ( navigator.appName == "Microsoft Internet Explorer" ){
|
|
|
|
|
document.querySelector('#captchaImg').removeAttribute('src');
|
|
|
|
|
setTimeout(function(){
|
|
|
|
|
document.querySelector('#captchaImg').setAttribute('src', url);
|
|
|
|
|
}, 20);
|
|
|
|
|
}
|
|
|
|
|
// 그 외 브라우저
|
|
|
|
|
else{
|
|
|
|
|
document.querySelector('#captchaImg').setAttribute('src', url);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
.captcha_wrap {
|
|
|
|
|
margin-top: 10px;
|
|
|
|
@ -256,5 +75,187 @@ var CaptchaUtil = {
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<script type="text/javascript" src="<c:url value='/'/>resources/3rd-party/jquery/3.6.1/jquery.min.js"></script>
|
|
|
|
|
<%-- <link href="<c:url value='/'/>resourcescss/style.css" rel="stylesheet" type="text/css" > --%>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 로그인
|
|
|
|
|
*/
|
|
|
|
|
function actionLogin() {
|
|
|
|
|
|
|
|
|
|
if (document.loginForm.id.value =="") {
|
|
|
|
|
alert("아이디를 입력하세요");
|
|
|
|
|
return false;
|
|
|
|
|
} else if (document.loginForm.password.value =="") {
|
|
|
|
|
alert("비밀번호를 입력하세요");
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
document.loginForm.action="<c:url value='/login/actionSecurityLogin.do'/>";
|
|
|
|
|
//document.loginForm.j_username.value = document.loginForm.userSe.value + document.loginForm.username.value;
|
|
|
|
|
//document.loginForm.action="<c:url value='/j_spring_security_check'/>";
|
|
|
|
|
document.loginForm.submit();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 쿠키 설정
|
|
|
|
|
*/
|
|
|
|
|
function setCookie (name, value, expires) {
|
|
|
|
|
document.cookie = name + "=" + escape (value) + "; path=/; expires=" + expires.toGMTString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 쿠키 조회
|
|
|
|
|
* -쿠키에 저장된 목록을 조회 한다.
|
|
|
|
|
*/
|
|
|
|
|
function getCookie(Name) {
|
|
|
|
|
var search = Name + "="
|
|
|
|
|
if (document.cookie.length > 0) { // 쿠키가 설정되어 있다면
|
|
|
|
|
offset = document.cookie.indexOf(search)
|
|
|
|
|
if (offset != -1) { // 쿠키가 존재하면
|
|
|
|
|
offset += search.length
|
|
|
|
|
// set index of beginning of value
|
|
|
|
|
end = document.cookie.indexOf(";", offset)
|
|
|
|
|
// 쿠키 값의 마지막 위치 인덱스 번호 설정
|
|
|
|
|
if (end == -1)
|
|
|
|
|
end = document.cookie.length
|
|
|
|
|
return unescape(document.cookie.substring(offset, end))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 쿠키에 ID 저장or제거
|
|
|
|
|
* -"로그인ID 저장여부"를 check 시 일정기간동안 쿠키에 ID를 저장 한다.
|
|
|
|
|
* -"로그인ID 저장여부"를 uncheck 시 쿠키에 저장된 ID를 삭제 한다.
|
|
|
|
|
*/
|
|
|
|
|
function saveid(form) {
|
|
|
|
|
var expdate = new Date();
|
|
|
|
|
// 기본적으로 30일동안 기억하게 함. 일수를 조절하려면 * 30에서 숫자를 조절하면 됨
|
|
|
|
|
if (form.checkId.checked)
|
|
|
|
|
expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * 30); // 30일
|
|
|
|
|
else
|
|
|
|
|
expdate.setTime(expdate.getTime() - 1); // 쿠키 삭제조건
|
|
|
|
|
setCookie("saveid", form.id.value, expdate);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 쿠키에 저장된 ID 취득
|
|
|
|
|
* -저장된 ID가 존재할 경우 "로그인ID 저장여부"항목을 check 설정 한다.
|
|
|
|
|
*/
|
|
|
|
|
function getid(form) {
|
|
|
|
|
form.checkId.checked = ((form.id.value = getCookie("saveid")) != "");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function fnInit() {
|
|
|
|
|
var message = document.loginForm.message.value;
|
|
|
|
|
if (message != "") {
|
|
|
|
|
alert(message);
|
|
|
|
|
}
|
|
|
|
|
// getid(document.loginForm);
|
|
|
|
|
|
|
|
|
|
$('#id').focus();
|
|
|
|
|
|
|
|
|
|
CaptchaUtil.init();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 회원가입 팝업
|
|
|
|
|
*/
|
|
|
|
|
function fnReg(){
|
|
|
|
|
var popUrl ="${ctx}/_anonymous_/login/UserReg_input.do";
|
|
|
|
|
var popOption = "width=840px, height=500px, resizable=no, scrollbars=yes, location=no, top=100px, left=100px";
|
|
|
|
|
var target = '사용자등록';
|
|
|
|
|
|
|
|
|
|
window.open(popUrl,target,popOption);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 아이디 찾기 팝업
|
|
|
|
|
*/
|
|
|
|
|
function fn_FindId(){
|
|
|
|
|
var popUrl = "${ctx}/login/FindId_input_popup.do";
|
|
|
|
|
var popOption = "width=500px, height=300x, resizable=no, location=no, top=100px, left100px";
|
|
|
|
|
var target = '아이디 찾기';
|
|
|
|
|
|
|
|
|
|
window.open(popUrl,target,popOption);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 비밀번호 찾기 팝업
|
|
|
|
|
*/
|
|
|
|
|
function fn_FindPw(){
|
|
|
|
|
var popUrl = "${ctx}/login/FindPwd_input_popup.do";
|
|
|
|
|
var popOption = "width=500px, height=330px, resizable=no, location=no, top=100px, left100px";
|
|
|
|
|
var target = '비밀번호 찾기';
|
|
|
|
|
|
|
|
|
|
window.open(popUrl,target,popOption);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 캡차 인증 도구
|
|
|
|
|
* @date 2020.09.22.
|
|
|
|
|
* @author 박민규
|
|
|
|
|
*/
|
|
|
|
|
var CaptchaUtil = {
|
|
|
|
|
init: function(){
|
|
|
|
|
//캡차인증 이미지 출력
|
|
|
|
|
CaptchaUtil.refresh();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//새로고침 버튼 EventListener 설정
|
|
|
|
|
$('#btn_captchaRefresh').on({
|
|
|
|
|
click: function(){
|
|
|
|
|
CaptchaUtil.refresh();
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//자동로그인방지문자 입력란 EventListener 설정
|
|
|
|
|
$('#captcha').on({
|
|
|
|
|
keypress: function(){
|
|
|
|
|
if(event.keyCode==13){
|
|
|
|
|
actionLogin();
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
keyup: function(){
|
|
|
|
|
this.value = this.value.toLowerCase();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
refresh: function(){
|
|
|
|
|
/* ==============================
|
|
|
|
|
* 2020.09.22 박민규
|
|
|
|
|
* IE 동작이슈 처리
|
|
|
|
|
* -사유: 크롬에서 정상동작 하나 IE에서 img 태그에 이미지가 출력된 상태에서
|
|
|
|
|
* document.querySelector('#captchaImg').setAttribute('src', url)를 호출해도 이벤트가 발생하지 않음.
|
|
|
|
|
* -해결: 이미지 태그의 src(이미지 경로)를 제거 후 timeout을 이용하여 일정시간 후 document.querySelector('#captchaImg').setAttribute('src', url) 호출
|
|
|
|
|
============================== */
|
|
|
|
|
//2020.09.22 주석처리
|
|
|
|
|
// var url = '<c:url value="/_anonymous_/captcha.do"/>';
|
|
|
|
|
// document.querySelector('#captchaImg').setAttribute('src', url);
|
|
|
|
|
var url = '<c:url value="/_anonymous_/captcha.do"/>';
|
|
|
|
|
// IE old version ( IE 10 or Lower )
|
|
|
|
|
if ( navigator.appName == "Microsoft Internet Explorer" ){
|
|
|
|
|
document.querySelector('#captchaImg').removeAttribute('src');
|
|
|
|
|
setTimeout(function(){
|
|
|
|
|
document.querySelector('#captchaImg').setAttribute('src', url);
|
|
|
|
|
}, 20);
|
|
|
|
|
}
|
|
|
|
|
// 그 외 브라우저
|
|
|
|
|
else{
|
|
|
|
|
document.querySelector('#captchaImg').setAttribute('src', url);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|