본문 바로가기

전체 글384

REST API 설계 - API? Application Programming Interface 의 약자로 프로그램을 실행하는 인터페이스. API를 통해 프로그램 요청을 전달하기 위한 통로 혹은 방법. - RESTful API ? REST는 Representational State Transfrer라는 용어로 2000년도 당시 HTTP 설계의 우수성에 비해 제대로 사용되지 못하는 모습에 로이필딩이 발표한 웹의 장점을 최대한 활용할 수 있는 아키텍쳐. - RESTful API 에서 HTTP Method 1) GET : 조회 2) POST : 리소스 생성 3) PUT : 리소스 갱신 4) DELETE : 리소스 삭제 Resource GET(read) POST(create) PUT(update) DELETE(delete) /item.. 2023. 8. 23.
[SpringSecurity] 필터 필터란? WAS에서 실행된 요청이 오면 이 요청이 서블릿으로 들어오는데, 서블릿으로 들어오기 전 처리하는 것이 필터 필터 흐름 : HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러 필터 체인 : HTTP 요청 -> WAS -> 필터1 -> 필터2 -> 필터3 -> 서블릿 -> 컨트롤러 1) spring 이 시작되면, ServletContext 와 RootApplicationContext 가 load 되고, bean들을 관리한다 ( * HTTP요청이 들어오면 Servlet 컨테이너에서 요청을 받는다.) 2) spring security 에 의해 설정된 SecurityFilterChain 이 DelegateFilterProxy와 FilterChainProxy 에 의해 관리된다. (*Servle.. 2023. 8. 22.
Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'loginPersonalController' method 원인 @RequetsMapping 이름이 중복 해결방법 하나 삭제해주면 된다 멍청한 오류였다. 2023. 8. 10.
[SpringSecurity] FailureHandler 구현 1) CustomAuthFailureHandler .java - config파일과 같은 뎁스에 SimpleUrlAuthenticationFailureHandler를 상속한 CustomAuthFailureHandler 생성 - onAuthenticationFailure 오버라이딩 @Component public class CustomAuthFailureHandler extends SimpleUrlAuthenticationFailureHandler { @Override public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws.. 2023. 8. 2.
Caused by: org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.views.index_jsp 원인 security taglib 사용 시JasperException이 발생, tags를 가져오지 못했다고 한다 해결 방법 아래 디펜던시를 추가한다. implementation 'org.springframework.security:spring-security-taglibs' 2023. 8. 1.
[Spring Security] Exception - BadCredentialsException 아이디가 존재하지 않거나, 비밀번호가 틀린 경우 발생하는 exception. (보안을 위해 아이디가 틀린 건지 비밀번호가 틀린 건지 알려주지 않기 위해 둘 다 BadCredentialsException 을 발생 시킨다) 기본은 위 처럼사용하지만 아이디가 틀린 건지 비밀번호가 틀린 건지 알리고 싶으면 AuthenticationProvider 를 커스텀 하여 1) 아이디가 없는 경우에는 UsernameNotFoundException 2) 비밀번호가 틀린 경우에는 BadCredentialsException 을 발생시키 사용 후 AuthenticationFailureHandler 에서 Exception 을 처리해주면 된다 2023. 7. 26.