CodeSiri/Project

[Mini Project 🚴🏻‍♀️] 06. 접속한 회원 세션 관리

Dev다D 2021. 2. 22. 12:53
반응형

 Web Server는 회원을 세션 아이디로 구분할 수 있다. (세션이란? 실시간 접속한 회원에 할당해주는 고유 아이디)

로그인을 성공했을 경우 세션 아이디를 부여하는 것으로 세션관리가 시작된다. 또한, 로그아웃했을 경우 세션 아이디를 해지해야 한다.

 

1. loginAction와 joinAction에서 각각 로그인에 성공한 회원에게 세션을 부여한다.

 

session.setAttribute("userID", user.getUserID());

 

2. 할당된 세션을 다시 해지해주는 페이지를 만들어야한다. (logoutAction)

 

logoutAction.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
  
	<%
		session.invalidate();
	%>
	<script>
		location.href="main.jsp";
	</script>

</body>
</html>

 

3. joinAction과 loginAction에 로그인한 계정은 다시 로그인할 수 없도록 조건을 준다.

String userID = null;
		if(session.getAttribute("userID")!=null){
			userID=(String)session.getAttribute("userID");
		}
		if(userID!=null){//로그인이 된 사람은 또 다시 로그인 할 수 없도록 막아준다.
			PrintWriter script=response.getWriter();
			script.println("<script>");
			script.println("alert('이미 로그인이 되어있습니다.')");
			script.println("location.href='main.jsp'");
			script.println("</script>");
		}

 

반응형