본문 바로가기

개발중/Web

Web04 session

728x90
반응형

 

사용자가 삭제나 수정을 하기위해서는 권한의 여부를 먼저 판단해야 한다.

그 권한은 사용자가 현재 접속해 있는지 아닌지의 여부로 나뉘는데

 

대부분 session을 이용한다

 

<%@ page language="java" contentType="text/html; charset=UTF-8"   %>
<%@ include file="ssi.jsp" %>
<!DOCTYPE html>
<html> <head>
<title> [loginList.jsp]</title>
   <style type="text/css">
	  *{font-size:14pt; font-weight:bold;  font-family: Comic Sans MS ; margin-left: 10px; }
	  a{font-size:14pt; text-decoration:none; font-weight:bold; color:blue;  font-family: Comic Sans MS ; }
	  a:hover{font-size:16pt; text-decoration:underline; color:green;  font-family: Comic Sans MS ; }
   </style>
</head>
<body>
 <p><br>
 <div align="center">
   <img src="images/a1.png">
 </div>
<%
  //loginList.jsp
   String a = request.getParameter("userid");
   String b = request.getParameter("pwd");
  try{
   msg="select count(*) as cnt from login where userid =? and pwd =? ";
   PST=CN.prepareStatement(msg);
   		PST.setString(1, a);
   		PST.setString(2, b);
   RS=PST.executeQuery();
  }catch(Exception ex){ System.out.println(ex); }
 if(RS.next()==true){ Gtotal=RS.getInt("cnt"); }
 if( Gtotal>0 ){	 
	 session.setAttribute("naver", a); //userid값을 가짜변수 naver에 넘김
	 response.sendRedirect("guestList.jsp");
	 
	 //Cookie ck=new Cookie("google", a); //쿠키내장클래스 객체화 
	 //response.addCookie(ck); //쿠키추가등록
	 //response.sendRedirect("main.jsp");
 }else{
%>	 
  <script type="text/javascript">
     alert("로그인문서로 이동합니다\UserID,PWD데이터를 입력하세요");
     location.href="login.jsp";
  </script>	 
<%}%>	
</body>
</html>







 

 msg="select count(*) as cnt from login where userid =? and pwd =? ";

 

사용자의 ID와 PASSWORD를 입력 받아서

데이터가 존재하는 유저인지 확인.

 

session.setAttribute("naver", a);

아이디가 임시로 naver에 저장

여기서 naver는 임시 전역변수 같은 느낌.

 

하지만 naver의 유효 시간은 20분

20분동안 유저의 움직임이 없다면 자동 로그아웃

 

19분째에 움직임이 포착 된다면 그 시간부터 다시 20분이 주어진다.

 

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8" %>         
<%@ include file="ssi.jsp" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> [guestDelete.jsp]  </title>
  <style type="text/css">
	*{ font-size: 24pt; }
	a{ font-size: 24pt; color:green; text-decoration:none; }
	a:hover{ font-size:26pt; color:blue; text-decoration:underline; }
  </style>
	
  <script type="text/javascript">
  </script>
</head>
<body>
  <%
   String temp =(String)session.getAttribute("naver");
   if (temp==null || temp==""){
  %>
  		<script type="text/javascript">
  			alert("삭제권한이 없습니다 로그인후 이용하세요");
  			location.href="login.jsp";
  		</script>
  <%
   }else{
    //guestDelete.jsp문서 단독실행하면 에러발생합니다 단독실행금지
    int data = Integer.parseInt(request.getParameter("idx"));
    System.out.println("삭제대상 넘어온 Gsabun = " + data);
    msg="delete  from guest where sabun =  " + data ;
    ST=CN.createStatement();
    ST.executeUpdate(msg);
    System.out.println(data + " 데이터 삭제처리 성공했습니다");
    
    //index.jsp실행=>guestList.jsp=>제목클릭=>한건상세 guestDetail.jsp문서에서 [삭제]
  %>
    	<script type="text/javascript">
  			alert("데이터삭제가 성공했습니다. 복귀작업은 안됩니다");
  			location.href="guestList.jsp";
  		</script>
 <% } %>
 <p>
 
 <p><br>
</body>
</html>




 

String temp =(String)session.getAttribute("naver");

이렇게 naver의 값을 가지고 와서

 

if (temp==null || temp=="")

값이 null 인지 아닌지를 확인하는 과정을 거쳐서 delete 권한을 부여할지 말지를 정한다.

 

null이라면 login 요청

 

null이 아니라면 delete 권한 부여

 

 

 

 

 

728x90
반응형

'개발중 > Web' 카테고리의 다른 글

web01 입력화면  (0) 2020.07.28
Web 배우기06  (0) 2020.07.28
Web 배우기05 (oracle 연동)  (0) 2020.07.27
Web email type  (0) 2020.07.27
Web01입력  (0) 2020.07.27