작성
·
55
0
안녕하세요 인증이 필요한 url을 위하여 /s를 붙이는것에 대해 질문있습니다.
실무에서도 url분리를 위해 /s만 붙이기도 하나요?
아니라면 url 설계를 어떤식으로 해야할지 팁을 알고싶습니당.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
qheogus55님, 질문하신 URL 설계에 대해 인증이 필요한 URL을 구분하는 방법으로 ‘/s’를 붙이는 관행에 대해 직접적인 언급은 없습니다. 다만, URL 설계는 애플리케이션의 보안, 구조, 그리고 유지보수성을 고려하여 결정됩니다. 구체적으로 인증이 필요한 페이지를 구분하기 위한 일반적인 전략은 다음과 같습니다:
/auth
, /secure
등의 네임스페이스를 사용할 수 있습니다.Spring Boot와 Spring Security를 사용할 경우, @WithMockUser
를 이용한 테스트 방법으로 인증이 필요한 URL에 접근하는 방법을 테스트할 수 있습니다. 예를 들어,
Java:
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.web.servlet.MockMvc;
@WebMvcTest(UserController.class)
class MySecurityTests {
@Autowired
private MockMvc mvc;
@Test
@WithMockUser(roles = "ADMIN")
void requestProtectedUrlWithUser() throws Exception {
this.mvc.perform(get("/"));
}
}
Kotlin:
import org.junit.jupiter.api.Test
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
import org.springframework.security.test.context.support.WithMockUser
import org.springframework.test.web.servlet.MockMvc
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders
@WebMvcTest(UserController::class)
class MySecurityTests(@Autowired val mvc: MockMvc) {
@Test
@WithMockUser(roles = ["ADMIN"])
fun requestProtectedUrlWithUser() {
mvc.perform(MockMvcRequestBuilders.get("/"))
}
}
위의 예제들처럼 테스트 환경에서 Spring Security의 @WithMockUser
를 사용하여 다양한 인증 시나리오를 구현하고 검증할 수 있습니다.
마지막으로 인증이 필요한 URL 설계에 대한 구체적인 전략은 애플리케이션의 요구사항과 보안 정책에 따라 달라질 수 있으므로, 팀과 함께 가장 적합한 방식을 찾는 것이 좋습니다.