본문 바로가기
회고

TIL_211108

코동이 2021. 11. 9.

1. Facts(사실, 객관)

 

- 프로젝트 Interceptor 확인하기

 

2. Feelings(느낌, 주관)

 

Interceptor는 보통 권한체크를 위해서 사용한다고 알고 있었습니다. 또한 aop, filter와 같이 비교되면서 면접 단골 질문이기도 했고 실제로 미세한 차이점들로 사용방식들이 다릅니다. spring security를 공부하면서 확실히 filter에 대해 배웠는데, filter는 spring과 무관하게 servlet단에서 작동하는데 spring security를 적용해보면서 아주 뼈저리게 filter를 만져보았습니다. aop도 최근에 프로젝트와 강의를 보면서, 관점지향 프로그래밍이라는 주제로 컨트롤러나 메서드에 공통되는 관심사들에 특정 동작들과 제약들을 걸어줄 때 사용합니다. 로그기록이나 걸린시간등을 확인할 수 있습니다. 

 

3. Findings (배운 점)

Interceptor는 DispatcherServlet에서 컨트롤러 호출 전후로 작동을한다. 
스프링 컨텍스트에 관여하면서도, 서블릿정보들을 활용할 수 있다.

preHandler() - 컨트롤러 메서드가 실행되기 전
postHanler() - 컨트롤러 메서드 실행직 후 view페이지 렌더링 되기 전
(afterComplete()까지)

명확한 실행시점이 구분되어 있으며, 내가 원하는 경로에 매핑하여 사용한다.

 

Interceptor는 크게 3가지로 적용되고 있다.

 

1. 로그인 검사

2. 로그인 검사(ajax)

3. 로그인 이후... view에 접근 가능한지 검사(본인인증 여부, 비밀번호 만료 여부, 추가된 약관 동의 여부)

 

1. 글쓰기, 마이페이지 등의 개인정보가 필요한 곳에는 로그인 검사를 한다.

2. ajax로 post 요청을 하는 경우도 마찬가지로 마이페이지, 글쓰기 관련된 사항은 로그인 검사를 한다.

3. view에 접근하기 전에 비밀번호가 만료되었으면 비밀번호 변경하도록 하고, 추가된 약관이 있으면 동의하도록 하고, 본인인증이 안되있는 회원이면 본인인증하도록 안내한다.(모든 view 화면에서 하도록 한다.)

 

 

4. Affirmation (자기 선언)

나는 기존에 배운 개념을 적용해보면서 구체적으로 학습하는 사람이다. 

반응형

'회고' 카테고리의 다른 글

TIL_211110  (0) 2021.11.11
TIL_211109  (0) 2021.11.10
TIL_211028  (0) 2021.10.28
TIL_211027  (0) 2021.10.27
TIL_211024  (0) 2021.10.25