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으로 로그인 정보를 받는다
)로그아웃
-> 약식으로 로그인/아웃이 가능하게끔 설정된 상태(나이에 상관없이)
)페이지
*)실제 프로젝트에서는 유저페이지와 관리자 페이지를 별도로 만들어야 한다
-> 관리자만 볼 수 있어야 함. (보안이 필요)
-> 비로그인상태여서 진입을 막았음.
-> "error" 사용불가 ("error"는 예약어이므로 에러 발생!)
*)예약어 : 컴퓨터 프로그래밍 언어에서 이미 문법적인 용도로 사용되고 있기 때문에 식별자로 사용할 수 없는 단어
)로그인을 하고...
-> 정보가 나타나지만, 일반회원으로는 회원정보를 보면 안됨
)관리자페이지로 설정
)관리자로 로그인하면...
-> 정상적으로 관리자 페이지를 들어갈 수 있음
)성인페이지
-> 미성년자로 로그인...
-> 성인으로 로그인...
-> 성인페이지 출력이 된다