[#24] feat: JWT 이용한 인가 프로세스 개발

- exception 디렉토리 변경
- config 내용 일부 수정
This commit is contained in:
beaniejoy
2022-11-25 16:56:32 +09:00
parent c5e2115611
commit 74896f286d
14 changed files with 17 additions and 16 deletions

View File

@@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.autoconfigure.security.servlet.PathRequest
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.http.HttpMethod
import org.springframework.security.config.annotation.web.builders.HttpSecurity
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
import org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer

View File

@@ -1,5 +1,6 @@
package io.beaniejoy.dongnecafe.domain.cafe.error
package io.beaniejoy.dongnecafe.common.error
import io.beaniejoy.dongnecafe.common.error.exception.CafeNotFoundException
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.ExceptionHandler
import org.springframework.web.bind.annotation.RestControllerAdvice

View File

@@ -1,3 +1,3 @@
package io.beaniejoy.dongnecafe.domain.cafe.error
package io.beaniejoy.dongnecafe.common.error.exception
class CafeExistedException(name: String) : RuntimeException("Cafe[$name] is already existed")

View File

@@ -1,4 +1,4 @@
package io.beaniejoy.dongnecafe.domain.cafe.error
package io.beaniejoy.dongnecafe.common.error.exception
class CafeMenuNotFoundException(menuId: Long, cafeId: Long) :
RuntimeException("Cafe[${cafeId}]의 Menu[${menuId}]는 존재하지 않는 메뉴입니다.")

View File

@@ -1,3 +1,3 @@
package io.beaniejoy.dongnecafe.domain.cafe.error
package io.beaniejoy.dongnecafe.common.error.exception
class CafeNotFoundException(cafeId: Long) : RuntimeException("Cafe[$cafeId] is not found")

View File

@@ -1,3 +1,3 @@
package io.beaniejoy.dongnecafe.domain.cafe.error
package io.beaniejoy.dongnecafe.common.error.exception
class MenuOptionNotFoundException(menuOptionId: Long) : RuntimeException("MenuOption[$menuOptionId] is not found")

View File

@@ -1,3 +1,3 @@
package io.beaniejoy.dongnecafe.domain.cafe.error
package io.beaniejoy.dongnecafe.common.error.exception
class OptionDetailNotFoundException(optionDetailId: Long) : RuntimeException("OptionDetail[$optionDetailId] is not found")

View File

@@ -1,7 +1,7 @@
package io.beaniejoy.dongnecafe.domain.cafe.service
import io.beaniejoy.dongnecafe.domain.cafe.model.response.CafeMenuDetailedInfo
import io.beaniejoy.dongnecafe.domain.cafe.error.CafeMenuNotFoundException
import io.beaniejoy.dongnecafe.common.error.exception.CafeMenuNotFoundException
import io.beaniejoy.dongnecafe.domain.cafe.model.request.CafeMenuUpdateRequest
import io.beaniejoy.dongnecafe.domain.cafe.repository.CafeMenuRepository
import org.springframework.data.repository.findByIdOrNull

View File

@@ -4,8 +4,8 @@ import io.beaniejoy.dongnecafe.domain.cafe.model.response.CafeDetailedInfo
import io.beaniejoy.dongnecafe.domain.cafe.model.response.CafeSearchInfo
import io.beaniejoy.dongnecafe.domain.cafe.model.request.CafeMenuRegisterRequest
import io.beaniejoy.dongnecafe.domain.cafe.entity.Cafe
import io.beaniejoy.dongnecafe.domain.cafe.error.CafeExistedException
import io.beaniejoy.dongnecafe.domain.cafe.error.CafeNotFoundException
import io.beaniejoy.dongnecafe.common.error.exception.CafeExistedException
import io.beaniejoy.dongnecafe.common.error.exception.CafeNotFoundException
import io.beaniejoy.dongnecafe.domain.cafe.repository.CafeRepository
import mu.KLogging
import org.springframework.data.domain.Page

View File

@@ -1,6 +1,6 @@
package io.beaniejoy.dongnecafe.domain.cafe.service
import io.beaniejoy.dongnecafe.domain.cafe.error.MenuOptionNotFoundException
import io.beaniejoy.dongnecafe.common.error.exception.MenuOptionNotFoundException
import io.beaniejoy.dongnecafe.domain.cafe.model.request.MenuOptionUpdateRequest
import io.beaniejoy.dongnecafe.domain.cafe.repository.MenuOptionRepository
import org.springframework.data.repository.findByIdOrNull

View File

@@ -1,6 +1,6 @@
package io.beaniejoy.dongnecafe.domain.cafe.service
import io.beaniejoy.dongnecafe.domain.cafe.error.OptionDetailNotFoundException
import io.beaniejoy.dongnecafe.common.error.exception.OptionDetailNotFoundException
import io.beaniejoy.dongnecafe.domain.cafe.model.request.OptionDetailUpdateRequest
import io.beaniejoy.dongnecafe.domain.cafe.repository.OptionDetailRepository
import org.springframework.data.repository.findByIdOrNull

View File

@@ -1,7 +1,6 @@
package io.beaniejoy.dongnecafe.security.filter
import io.beaniejoy.dongnecafe.security.JwtTokenUtils
import mu.KLogging
import mu.KotlinLogging
import org.springframework.security.core.context.SecurityContextHolder
import org.springframework.web.filter.GenericFilterBean
@@ -26,7 +25,7 @@ class JwtAuthenticationFilter(
*/
override fun doFilter(request: ServletRequest, response: ServletResponse, chain: FilterChain) {
val httpRequest = request as HttpServletRequest
log.info { "[JwtAuthenticationFilter][${request.dispatcherType}][${request.requestURI}]" }
log.info { "[JwtAuthenticationFilter][${request.dispatcherType}] uri: ${request.requestURI}" }
getAccessToken(httpRequest)?.let {
jwtTokenUtils.getAuthentication(it)

View File

@@ -1,7 +1,7 @@
package io.beaniejoy.dongnecafe.domain.cafe.service
import io.beaniejoy.dongnecafe.domain.cafe.entity.CafeMenu
import io.beaniejoy.dongnecafe.domain.cafe.error.CafeMenuNotFoundException
import io.beaniejoy.dongnecafe.common.error.exception.CafeMenuNotFoundException
import io.beaniejoy.dongnecafe.domain.cafe.repository.CafeMenuRepository
import io.beaniejoy.dongnecafe.domain.cafe.repository.MenuOptionRepository
import io.beaniejoy.dongnecafe.domain.cafe.repository.OptionDetailRepository

View File

@@ -1,8 +1,8 @@
package io.beaniejoy.dongnecafe.domain.cafe.service
import io.beaniejoy.dongnecafe.domain.cafe.entity.Cafe
import io.beaniejoy.dongnecafe.domain.cafe.error.CafeExistedException
import io.beaniejoy.dongnecafe.domain.cafe.error.CafeNotFoundException
import io.beaniejoy.dongnecafe.common.error.exception.CafeExistedException
import io.beaniejoy.dongnecafe.common.error.exception.CafeNotFoundException
import io.beaniejoy.dongnecafe.domain.cafe.repository.CafeRepository
import io.beaniejoy.dongnecafe.domain.cafe.utils.CafeTestUtils
import org.junit.jupiter.api.*