142 lines
6.8 KiB
HTML
142 lines
6.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org"
|
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
|
layout:decorate="~{layout/layout}">
|
|
<th:block layout:fragment="css">
|
|
<link rel="stylesheet" th:href="@{/css/login/login.css}">
|
|
</th:block>
|
|
<th:block layout:fragment="script">
|
|
<script type="text/javascript" th:src="@{/js/login/login.js}"></script>
|
|
</th:block>
|
|
<div layout:fragment="content">
|
|
|
|
<div class="index_warp form-login">
|
|
<form action="/login" method="post">
|
|
<!-- Spring Security가 적용되면 POST 방식으로 보내는 모든 데이터는 csrf 토큰 값이 필요 -->
|
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
|
<p th:if="${loginError}" class="error text-warning login-Fail">로그인에 실패하였습니다.</p>
|
|
<!-- 로그인 시 아이디의 name 애트리뷰트 값은 username -->
|
|
<!-- 파라미터명을 변경하고 싶을 경우 config class formlogin()에서 .usernameParameter("") 명시 -->
|
|
<h1>외사포털</h1>
|
|
<h2>FOREIGN AFFAIRS INTELLIGENCE MANAGEMENT SYSTEM</h2>
|
|
<ul>
|
|
<li>
|
|
<div><img src="img/logo_big.png" alt="해양경찰청"></div>
|
|
</li>
|
|
<li>
|
|
<img src="img/logo.png" alt="해양경찰청">
|
|
<h3>FOREIGN AFFAIRS DIVISION</h3>
|
|
<h4>LOGIN</h4>
|
|
|
|
<input type="text" name="username" id="username" placeholder="아이디" onfocus="this.placeholder=''"
|
|
onblur="this.placeholder='아이디'" class="form_01 form_log">
|
|
<input type="password" name="password" id="password" placeholder="비밀번호" onfocus="this.placeholder=''"
|
|
onblur="this.placeholder='비밀번호'" class="form_01 form_pw">
|
|
|
|
<!-- <input name="idcchk" type="checkbox" id="idcchk" class="form_02"> 아이디저장-->
|
|
<!--<div class="checkbox mb-3">
|
|
<label>
|
|
<input type="checkbox" class="disabled" value="remember-me"> 계정저장(비활성화)
|
|
</label>
|
|
</div>-->
|
|
<input type="submit" name="login" id="login" value="로그인" class="btn_login">
|
|
|
|
<div class="join">
|
|
<!--<a href="#" data-bs-toggle="modal" data-bs-target="#userInsertModal">회원가입</a>-->
|
|
<a href="#" id="joinModalBtn">회원가입</a>
|
|
</div>
|
|
<div class="find"><a href="#" data-bs-toggle="modal" data-bs-target="#findPasswordModal">비밀번호 재설정</a></div>
|
|
|
|
</li>
|
|
</ul>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="modal fade" id="userInsertModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
|
|
aria-labelledby="userInsertModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content " id="userInsertModalContent">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="findPasswordModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
|
|
aria-labelledby="findPasswordModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog None">
|
|
<div class="modal-content " id="findPasswordModalContent">
|
|
<div class="modal-header bg-dark">
|
|
<h5 class="modal-title text-white" id="userInsertModalLabel">비밀번호 찾기</h5>
|
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="mb-3 mt-3 row">
|
|
<div class="col-1"></div>
|
|
<label for="fDicCode" class="col-sm-3 col-form-label col-form-label-sm text-center ">디지털 식별코드</label>
|
|
<div class="col-sm-7">
|
|
<input type="text" class="form-control form-control-sm" id="fDicCode" name="dicCode" autocomplete="off">
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 mt-3 row">
|
|
<div class="col-1"></div>
|
|
<label for="fUserId" class="col-sm-3 col-form-label col-form-label-sm text-center ">아이디</label>
|
|
<div class="col-sm-7">
|
|
<input type="text" class="form-control form-control-sm" id="fUserId" name="userId" autocomplete="off">
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 mt-3 row">
|
|
<div class="col-1"></div>
|
|
<label for="fUserNm" class="col-sm-3 col-form-label col-form-label-sm text-center ">이름</label>
|
|
<div class="col-sm-7">
|
|
<input type="text" class="form-control form-control-sm" id="fUserNm" name="userNm" autocomplete="off">
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 mt-3 row">
|
|
<div class="col-1"></div>
|
|
<label for="fPhoneNo" class="col-sm-3 col-form-label col-form-label-sm text-center ">휴대폰번호</label>
|
|
<div class="col-sm-7">
|
|
<input type="text" class="form-control form-control-sm" id="fPhoneNo" name="phoneNo" placeholder="휴대폰 번호는 -(하이픈)을 빼고 숫자만 입력해 주세요." autocomplete="off">
|
|
</div>
|
|
</div>
|
|
<button type="button" class="btn btn-sm btn-outline-primary" id="findPwBtn">찾기</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="changePasswordModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
|
|
aria-labelledby="findPasswordModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog None">
|
|
<div class="modal-content " id="changePasswordModalContent">
|
|
<div class="modal-header bg-dark">
|
|
<h5 class="modal-title text-white" id="changePasswordModalLabel">비밀번호 변경</h5>
|
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form id="changePasswordFm" method="post">
|
|
<input type="hidden" id="changeUserSeq" name="userSeq">
|
|
<div class="mb-3 mt-3 row">
|
|
<div class="col-1"></div>
|
|
<label for="cPw" class="col-sm-3 col-form-label col-form-label-sm text-center ">비밀번호</label>
|
|
<div class="col-sm-7">
|
|
<input type="password" class="form-control form-control-sm" id="cPw" name="password" autocomplete="off">
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 mt-3 row">
|
|
<div class="col-1"></div>
|
|
<label for="chkPw" class="col-sm-3 col-form-label col-form-label-sm text-center ">비밀번호 확인</label>
|
|
<div class="col-sm-7">
|
|
<input type="password" class="form-control form-control-sm" id="chkPw" autocomplete="off">
|
|
</div>
|
|
</div>
|
|
<button type="button" class="btn btn-sm btn-outline-primary" id="changePwBtn">변경</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</html> |