반응형
- Main 에서 따로 실행되는 컨트롤러가 있는 경우
- SameSiteCookieFilter Class 만들기
@Component
public class SameSiteCookieFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// 필요한 초기화 작업 수행
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
if (httpRequest.getSession(false) != null) {
Cookie[] cookies = httpRequest.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
String name = cookie.getName();
String value = cookie.getValue();
// SameSite=Lax 속성을 포함한 Set-Cookie 헤더 생성
String setCookieHeader = String.format("%s=%s; SameSite=Lax", name, value);
// 응답 헤더에 Set-Cookie 헤더 추가
httpResponse.addHeader("Set-Cookie", setCookieHeader);
}
}
}
chain.doFilter(request, response);
}
@Override
public void destroy() {
}
}
- Main Controller
@Controller
public Class MainController {
private final SameSiteCookieFilter sameSiteCookieFilter;
@Autowired //의존성 주입
public MainController(SameSiteCookieFilter sameSiteCookieFilter) {
this.sameSiteCookieFilter = sameSiteCookieFilter;
}
...
...
}
- 브라우저> 개발자모드 > Application > Cookies 에서 SameSite Lax 설정 확인
반응형
'JAVA' 카테고리의 다른 글
Maven 이용하여 프로젝트 내 local jar 파일 추가 방법 (0) | 2024.04.23 |
---|---|
스프링부트 httpClient 를 이용한 외부 API 통신하기 (0) | 2024.01.04 |
String.valueOf() 와 toString() 차이 (0) | 2023.11.07 |
ubuntu 20.04 JAVA17 설치 (JDK17) (0) | 2023.06.22 |
[JMS]Activemq 메시지 소비자(Consumer) 기초 소스 (0) | 2020.07.27 |