반응형
문제
기본적으로 WAS, 프레임워크가 세션 타임아웃을 처리해준다.
그러나 polling 하는 기능이 있다면
세션은 계속 연장 될 것이고, 타임아웃은 발생하지 않는다.
해결방안
1. JWT를 사용하여 만료시간을 가지고 타임아웃 처리
- polling api가 아닌 경우에만 JWT access token 을 갱신하는 방법
2. 세션 또는 별도 공간에 별도 시간으로 체크
- 나는 별도 필터를 만들어서 시큐리티 컨텍스트에 accessTime이라는 변수를 넣어두고 해당 변수값으로 체크하였음
1번과 마찬가지로 polling api가 아닌 경우에만 accessTime을 갱신하고, 필터에 진입할 때 accessTime과 현재 시간을 비교하여 타임아웃을 처리하였음
더보기
- authentication details에 들어가는 VO에 accessTime을 추가
- sessionTimeoutCheckFilter를 추가하여 AIP 요청시마다 accessTime을 꺼내오고, 다시 업데이트 처리함
- polling api 일 때는 업데이트 하지 않음 (세션 타임아웃에서 배제됨)
- sessionTimeoutCheckFilter에서 accessTime 을 꺼내올 때, 현재시간과 비교하여 타임아웃 여부를 체크
반응형
'웹개발 > 스프링 · 자바 · 코틀린' 카테고리의 다른 글
[스프링] 트랜잭션 롤백 (0) | 2025.02.28 |
---|---|
[Gradle] 프로파일에 맞는 yml 설정만 빌드하기 (0) | 2025.02.27 |
[java] enum을 String[]으로 변환하기 (0) | 2024.05.31 |
[java] swing 시작하기 (0) | 2024.05.31 |
private final (0) | 2024.01.22 |