min's devlog

[JSP] 웹 인증 본문

til/Server

[JSP] 웹 인증

값진 2022. 6. 27. 09:44

웹 인증, Authentication

  - 웹 인증은 로그인과 로그아웃 할 때 사용된다.

  - 현재 접속자가 해당 사이트의 구성원인지 확인하는 작업

  - 해당 접속자가 구성원인지 확인 작업(아이디, 암호) > 인증 티켓 발급 (인증 과정을 거쳐야 가지는 정보)

> 사이트 내에서 이동이 가능(페이지 간에 전달 과정 없이도 유지 가능) + 보안 안전(타인이 열람할 수 없도록) > 세션 or 쿠키

허가, Authorization

  - 특정 행위를 할 때 권한이 있는지 확인하는 작업

 

auth>

index 시작페이지

login 로그인 폼페이지

loginok 로그인 처리페이지

logout 로그아웃 페이지

member 회원전용

admin 관리자전용

 

css fonts inc js 폴더 복사해오기

똑같은 자원을 매번 복사해 쓰지 않고 asset만들어 갖다쓰기

 

dbeaver 에서 작성한 회원 정보

-- C:\class\server\JSPTest\auth.sql

 

create table tblUser (
	id varchar2(30) primary key,     --아이디
     pw varchar2(30) not null,     --암호
     name varchar2(30) not null,     --이름
     lv number(1) not null     --등급(1-관리자, 2-회원, 3-준회원)

);

insert into tblUser( id,pw, name, lv) values ('Kim', '0000', '김이름', 3);
insert into tblUser( id,pw, name, lv) values ('Hong', '0000', '홍이름', 2);
insert into tblUser( id,pw, name, lv) values ('Kang', '0000', '강이름', 1);

 

 

loginok.jsp : 로그인 처리 페이지

1. 데이터 가져오기

2. DB 작업 > select

3. 데이터가 있으면 인증 티켓 발급, 없으면 x

4. 피드백

 

 

인증 티켓을 발급받는 과정

String id = request.getParameter("id");
String pw = request.getParameter("pw");

//쿼리 날리기
Connection conn = null;
PreparedStatement stat = null;
ResultSet rs = null;

//DB 연결
conn = DBUtill.open //jsp 폴더에 만들어둠

//로그인 처리 SQL // 이 두가지 조건을 만족하는 행은 하나 뿐이다
// id 와 pw 둘다 일치해야 하나의 레코드를 반환한다
String sql = "select * from tblUser where id = ? and pw = ?";


if (rs.next()) {
	//로그인 성공
	System.out.println(rs.getString("name"));
	System.out.println(rs.getString("lv"));
    
    //인증티켓 발급 > 세션 > 로그인
	session.setAttribute("auth", id);
}else {
//로그인 실패

}



//자원 해제
rs. close();
stat.close();
conn.close();

 

 

 

'til > Server' 카테고리의 다른 글

[JSP] 메모장  (0) 2022.06.28
Code template  (0) 2022.06.27
[JSP] 주소록 데이터 삭제  (0) 2022.06.27
[JSP] 주소록에 데이터 추가  (0) 2022.06.24
[JSP] MVC의 모델, 뷰, 컨트롤러  (0) 2022.06.23
Comments