728x90

2023/10/04 4

Spring - API 인증 (http, 고정 인증 로그인 구현)

- Resolver를 사용 할 때 파라미터로 인증 토큰을 받게 되면 값이 중복 될 수 있기 때문에 header를 통해 받는 것이 좋다. ....... @Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { String accessToken = webRequest.getHeader("Authorization"); if (accessToken == null || accessToken.equals("")) { throw new Unau..

Programming/Spring 2023.10.04

Spring - API 인증 (ArgumentResolver)

- ArgumentResolver란 Spring MVC에서 사용되는 인터페이스로, 컨트롤러 메서드의 매개변수를 해석하고 해당 매개변수에 값을 제공하는 역할을 한다. 이를 통해 컨트롤러 메서드에서 다양한 매개변수 타입을 처리하고 커스텀한 바인딩 로직을 구현할 수 있다. - HandlerMethodArgumentResolver 인터페에스를 상속 받고 다음과 같은 메서드를 정의한다. 1. supportsParameter(MethodParameter parameter) : Resolver가 특정 매개변수를 지원하는지 여부를 판단하는 데 사용된다. MethodParameter 객체를 인자로 받고, 지원하는 매개변수인 경우 true를 반환하고, 그렇지 않은 경우, false를 반환해야 한다. 2. resolveAr..

Programming/Spring 2023.10.04

자주 헷갈리거나 까먹는 것들 정리

- super - super가 단독으로 사용되면, 자식 클래스에서 부모 클래스의 생성자를 호출한다. - HttpServletRequest 속성에 대해 HttpServletRequest는 Java Servlet에서 HTTP 요청과 관련된 다양한 정보를 제공하는 인터페이스입니다. 이 인터페이스를 사용하여 HTTP 요청의 다양한 속성(attribute) 및 정보를 읽어올 수 있습니다. 주요 HttpServletRequest 메서드와 해당 메서드를 통해 얻을 수 있는 정보는 다음과 같습니다: getHeader(String name): 지정된 이름의 HTTP 헤더 값을 반환합니다. 예를 들어, request.getHeader("User-Agent")는 User-Agent 헤더 값을 반환합니다. getMethod(..

Programming/TMP 2023.10.04

Spring - API 인증 (파라미터, Header, Interceptor)

- API 인증은 요청이 들어올 때 인증된 요청인가 허용된 사용자인가 확인 후 수행하기 위해서 사용한다. - Get Parameter 방식 @PostMapping("/posts") public void post(@RequestBody @Valid PostCreate request, @RequestParam String authorization) { if(authorization.equals("bis")){ request.validate(); postService.write(request); } } 1. RequestParam 방식을 이용하여 쿼리 파라미터로 넘어오는 값을 비교하는 방법이 있다. - test 코드 //when mockMvc.perform(MockMvcRequestBuilders.post("..

Programming/Spring 2023.10.04
728x90