JWT (5)

reallt·2023년 7월 19일

TIL

목록 보기
21/21
post-thumbnail

http
				.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .and()
                .addFilter(corsFilter) 
                .formLogin().disable()
                .httpBasic().disable()

jwt 사용을 위해서는 위와같이 SessionCreationPolicy.STATELESS를 통해 session을 사용하지 않고, formLogin()과 httpBasic()를 비활성화 시킨다.

addfilter는 모든 요청이 CorsFilter를 타서 크로스오리진 요청이 와도 다 허용할 수 있게 만들었다.

Fliter

spring security에는 기본적인 시큐리티 filter와 내가 만들수 있는 커스텀 filter가 있다. jwt에서 인증절차를 구현하기위해 filter를 만들어보자.

if(req.getMethod().equals("POST")) {
           System.out.println("POST 요청됨");
           String headerAuth = req.getHeader("Authorization");
           System.out.println(headerAuth);
           System.out.println("필터3");

           if(headerAuth.equals("cos")) {
               chain.doFilter(req, res);
           } else {
               PrintWriter out = res.getWriter();
               out.println("인증안됨");
           }
       }

filter 예제코드를 작성해 보았다. 요청이 POST일 경우, 그리고 header값으로 cos가 들어왔을 경우 chain.dofliter()를 통해 체인의 다음 필터로 넘긴다. 이때 다음 필터는 스프링 시큐리티 필터의 다음값을 의미한다.

profile
백엔드 마스터!(지망생)

2개의 댓글

comment-user-thumbnail
2023년 7월 19일

좋은 글 잘 읽었습니다, 감사합니다.

1개의 답글