◆ 페이지 접근 제한

  1. 각각의 페이지마다 세션을 검사해서 오류 처리
    • Spring을 사용한다면 절대 권장하지 않는다.
  2. AOP(Aspect Orient Programming)
  • AOP의 개념을 도입하여 일괄 처리
  • 관점 지향 프로그래밍이다.
  • 객체 지향 프로그래밍의 발전형 (OOP(Object Orient Programming))
  • 직접 구현도 가능 (Spring AOP, AspectJ)
  • 만들어진 구현체를 사용하여 처리 (필터, 인터셉터)
    - 필터 : java web 기술이다.
    • java web으로 만들수 있는 기술 중 한 개가 Spring이다.
    • 인터셉터 : Spring 기술이다.
    • 접근 제한을 구현하려면 interceptor 사용을 권장한다.

◆ 인터셉터(interceptor)

  • 스프링의 실행 과정에 개입하여 변화를 일으킬 수 있는 도구이다.
  • 등록만으로 사용할 수 없다.
  • HandlerInterceptor 상속을 통한 자격 획득 및 스프링에 사용 설정을 해야 한다.
  • 다음 메소드를 재정의하여 사용
    - preHandle : 컨트롤러가 실행되기 직전 시점에 간섭
    - postHandle : 컨트롤러 실행 직후 시점에 간섭(화면은 아직 생성되지 않음)
    - afterCompletion
  • 인터셉터는 컨트롤러 처럼 선언한다고 주지 않는다.
  • HttpSession은 HttpServletRequest 객체 내부에 포함되어 있다.
  • DB를 갔다오면 성능이 느려지므로 되도록 DB를 가지 않는것을 권장한다.
  • session은 @Controller 에서만 특별히 사용 가능하다.
  • 보통은 인터셉터에서 HttpServletRequest가 선언된 파일에서만 session이 사용 가능하다.

◆HttpServletRequest request

  • 요청 정보가 담긴 객체
  • 사용자가 보낸 정보를 분석할 때 사용
  • HttpSession

◆HttpServletResponse response

  • 응답 정보가 담긴 객체
  • 사용자한테 정보를 보내줘야 할 때 사용
  • redirect

◆Object handler

  • 실행될 대상 컨트롤러 정보

◆ 스프링 설정파일

  • 스프링의 초기 설정을 수행할 수 있는 파일
  • 등록은 @Configuration 으로 한다
  • 나중에 프로젝트가 실행되면 application.properties와 합쳐져서 설정을 수행
  • 프로젝트의 구조를 변경하는 설정이라면 특정 클래스를 상속받아서 자격까지 획득 해야한다.

◆ 인터셉터 등록 메소드

  • 매개변수에 있는 registry를 사용하여 원하는 인터셉터를 원하는 주소에 설정

◆ 주소 패턴 설정

  • Spring표현식 사용
  • *이 1개면 해당 엔드포인트의 모든 내용을 의미
  • *이 2개면 해당 엔드포인트와 그 이하의 모든 내용을 의미

profile
Backend Developer

0개의 댓글