로그아웃 추가

서블릿 필터에서 Exception 발생시 처리
This commit is contained in:
2023-08-02 15:46:02 +09:00
parent fff8037277
commit 16c5c5f6b6
4 changed files with 71 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
package kr.co.vividnext.sodalive.common
import com.fasterxml.jackson.databind.ObjectMapper
import org.springframework.web.filter.OncePerRequestFilter
import javax.servlet.FilterChain
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
class ExceptionHandlerFilter(private val objectMapper: ObjectMapper) : OncePerRequestFilter() {
override fun doFilterInternal(
request: HttpServletRequest,
response: HttpServletResponse,
filterChain: FilterChain
) {
try {
filterChain.doFilter(request, response)
} catch (e: Exception) {
response.status = 401
response.contentType = "application/json"
response.characterEncoding = "UTF-8"
val json = objectMapper.writeValueAsString(ApiResponse.error("로그인 정보를 확인해주세요."))
response.writer.write(json)
}
}
}