본문 바로가기

SpringBoot

SpringBoot - Interceptor

)Inteceptor는 보안의 역할을 한다(ex: 성인용 사이트)

 

*)SpringBoot에서 Interceptor는 aop의 Advice와 마찬가지로 객체로 만들어서 전달하면 됨

 

)기본 라이브러리 환경

-> 기본 웹환경(테스트용이기 때문에 db x)

 

)jsp 환경설정

)view resolver

 

)interceptor 구성

-> debug => info(실행 시, 찍히는 것을 확인하기 위함)

 

)interceptor 환경설정

 

)controller

 

)추가

-> 더 이상 interceptor가 걸리지 않는다

 

*)add와 exclude 둘 중 적절히 사용하면 된다.

(add를 사용하는 것이 더 효율적임 - interceptor를 걸 경로만 추가해주는 것이 서버에 부하갈 우려가 훨씬 적다)

 

)interceptor로 제한 걸어보기(성인 페이지)

-> @RestController => @Controller

 

)로그인

-> 로그인 추가

-> 로그인을 요청하기 위한 세션을 인젝션 받기

-> Map으로 로그인 정보를 받는다

 

)로그아웃

-> 약식으로 로그인/아웃이 가능하게끔 설정된 상태(나이에 상관없이)

 

)페이지

*)실제 프로젝트에서는 유저페이지와 관리자 페이지를 별도로 만들어야 한다

members_list.jsp

-> 관리자만 볼 수 있어야 함. (보안이 필요)

 

-> 비로그인상태여서 진입을 막았음.

-> "error" 사용불가 ("error"는 예약어이므로 에러 발생!)

*)예약어 : 컴퓨터 프로그래밍 언어에서 이미 문법적인 용도로 사용되고 있기 때문에 식별자로 사용할 수 없는 단어

 

 

)로그인을 하고...

-> 정보가 나타나지만, 일반회원으로는 회원정보를 보면 안됨

 

)관리자페이지로 설정

)관리자로 로그인하면...

-> 정상적으로 관리자 페이지를 들어갈 수 있음

 

)성인페이지

photo_list.jsp
String으로 캐스팅 후 Integer.parseInt로 감싸기

-> 미성년자로 로그인...

 

-> 성인으로 로그인...

-> 성인페이지 출력이 된다