쿠키를 활용한 로그인 시스템은 사용자 식별 정보를 쿠키에 저장하여 사용자가 사이트에 다시 방문했을 때 자동으로 인식할 수 있게 하는 방법입니다. 이러한 방식은 사용자 편의성을 높이지만, 보안 측면에서 주의를 요합니다. 아래는 쿠키 기반 로그인 시스템을 구현하는 두 가지 예제입니다.
예제 1: 쿠키를 사용한 간단한 로그인
이 예제에서는 사용자 이름과 비밀번호를 입력받아 쿠키에 저장하고, 이후 방문 때 자동으로 인식하는 로그인 시스템을 구현합니다.
login.jsp
<!DOCTYPE html>
<html>
<head>
<title>Simple Cookie-based Login</title>
</head>
<body>
<form action="loginHandler.jsp" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Login">
</form>
</body>
</html>
loginHandler.jsp
<%@ page import="javax.servlet.http.Cookie" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
// Get user input from request
String username = request.getParameter("username");
String password = request.getParameter("password");
// Dummy check for username and password (Replace with real validation)
if("admin".equals(username) && "admin123".equals(password)) {
// Create a cookie for username
Cookie userCookie = new Cookie("username", username);
userCookie.setMaxAge(60*60*24); // Expires in 1 day
response.addCookie(userCookie);
out.println("Login successful!");
} else {
out.println("Invalid username or password!");
}
%>
예제 2: 로그인 상태 확인 및 로그아웃
이 예제에서는 사용자가 로그인했는지 확인하고, 로그아웃 기능을 구현합니다.
checkLogin.jsp
<%@ page import="javax.servlet.http.Cookie" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
// Check for existing user cookie
Cookie[] cookies = request.getCookies();
String username = null;
if(cookies !=null){
for(Cookie cookie : cookies){
if("username".equals(cookie.getName())){
username = cookie.getValue();
break;
}
}
}
if(username != null){
out.println("Welcome back, " + username + "!");
} else {
out.println("You are not logged in.");
}
%>
logout.jsp
<%@ page import="javax.servlet.http.Cookie" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
// Invalidate the user cookie
Cookie[] cookies = request.getCookies();
if(cookies !=null){
for(Cookie cookie : cookies){
if("username".equals(cookie.getName())){
cookie.setMaxAge(0); // Delete the cookie
response.addCookie(cookie);
break;
}
}
}
out.println("You have been logged out.");
%>
관련 전문용어 설명
- 쿠키(Cookie): 웹 사이트가 사용자의 브라우저에 저장하는 작은 정보 조각입니다. 사용자 식별, 세션 관리, 사용자 선호도 저장 등에 사용됩니다.
- setMaxAge(): 쿠키의 유효 기간을 설정하는 메소드입니다. 0으로 설정하면 쿠키가 삭제됩니다.
- 로그인 상태 유지: 사용자가 웹 사이트를 재방문할 때 자동으로 인증되어야 하는 기능입니다. 쿠키나 세션을 통해 구현될 수 있습니다.
'jsp' 카테고리의 다른 글
데이터 그리드 표시: 데이터베이스에서 데이터를 조회하고 그리드 형태로 표시하는 예제. (0) | 2023.12.25 |
---|---|
세션 기반 로그인: 세션을 활용한 로그인 및 로그아웃 시스템 구현 예제. (0) | 2023.12.25 |
Ajax 요청 처리: Ajax를 사용하여 비동기 요청을 처리하는 JSP 예제. (0) | 2023.12.25 |
파일 다운로드: 웹 페이지에서 파일을 다운로드하는 방법을 다루는 예제. (0) | 2023.12.25 |
이메일 전송: JSP를 사용하여 이메일을 전송하는 예제. (0) | 2023.12.25 |