티스토리 뷰
쿠키를 이용한 로그인 상태 유지하기
웹 사이트의 기본 기능 중 하나는 로그인/로그아웃 기능입니다. 로그인을 하지 않은 상태에서 웹 사이트에 연결을 하면 로그인을 하도록 유도를 하는데, 이는 로그인을 했는지 판단 할 수 있는 방법이 필요하다는 뜻입니다.
로그인 상태를 확인할 때 가장 많이 사용하는 방법이 바로 쿠키를 이용하는 방법입니다.
쿠키를 이용하여 다음과 같은 방법으로 로그인 상태를 유지 할 수 있습니다.
1. 로그인에 성공하면 특정 이름을 갖는 쿠키를 생성한다.
2. 해당 쿠키가 존재하면 로그인한 상태라고 판단한다.
3.로그아웃하면 해당 쿠키를 삭제한다.
로그인 처리
먼저 로그인 처리가 되는 페이지를 작성하기전에 간단한 로그인 폼을 작성합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<title>로그인폼</title>
</head>
<body>
<form action="login.jsp" method = "post" >
아이디 <input type="text" name = "id" size="15">
암호 <input type="password" name="password" size="15">
<input type="submit" value="로그인">
</form>
</body>
</html> |
간단한 로그인폼을 구성하고 form의 내용을 login.jsp로 보내어 로그인 처리를 하도록 합니다.
여기서는 로그인 상태유지에 대해서 배우는 것임으로 단순히 아이디와 비밀번호가 동일하면 로그인이 된 것으로 가정을 하고 진행 하도록 하겠습니다.
다음은 login.jsp의 내용입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 |
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String id = request.getParameter("id");
String password = request.getParameter("password");
%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
if(id.equals(password))
{
response.addCookie(new Cookie("AUTH","id"));
}
else
{
%>
<script>
alert("로그인에 실패하였습니다.")
histoy.go(-1);
</script>
<%
}
%>
</body>
</html> |
response.getParameter을 통해 아이디와 비밀번호를 가지고 와서 두 문자열이 같은지 비교를 합니다.
두 문자열이 같다면 로그인이 된 것으로 간주하고 AUTH라는 이름의 Cookie를 생성합니다.
이제 로그인 되었으므로 로그인이 되었는지 판단을 하는 페이지를 작성 해보겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 |
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.net.URLDecoder"%>
<html>
<head>
<title></title>
</head>
<body>
<%
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.length >0)
{
for(int i=0;i<cookies.length;i++)
{
if(cookies[i].getName().equals("AUTH"))
{
%>
<%=URLDecoder.decode(cookies[i].getValue()) %> 로그인
<%
}
}
}
%>
</body>
</html> |
loginCheck.jsp는 쿠키 값들 중에서 'AUTH' 쿠키를 찾게 되고 해당 쿠키가 존재하지 않으면 로그인이 안된 상태로 판단하게 되고 쿠키가 존재하면 로그인이 된 상태라고 판단하게 됩니다.
'Programming > JSP' 카테고리의 다른 글
07 쿠키(Cookie)의 기본 (0) | 2017.09.22 |
---|---|
06 <jsp:forward> 액션 태그 사용하기 (0) | 2017.09.13 |
05 <jsp:include> 액션 태그와 include 디렉티브 (0) | 2017.09.11 |
04 데이터베이스 프로그래밍 - UPDATE,INSERT,DELETE문 (0) | 2017.09.10 |
03 데이터베이스 프로그래밍 - 테이블 생성 및 조회하기 (2) | 2017.09.06 |