본문 바로가기

분류 전체보기99

Spring Security - Filter, OncePerRequestFilter 정리해보자 Filter | OncePerRequestFilter 가볍게 필터가 어떻게 동작하는지 그림을 통해서 확인해보자 그럼 흔히 중간에서 우리의 동작들을 제어해주는 FIlter, Interceptor의 차이를 확인해보자 우선 Filter은 DispatchServlet 앞에서 동작하는 큰 문이고, Interceptor은 DispatchServlet과 Controller 사이에서 동작하는 작은 문이다. 필터 Web Application Context의 기능 인코딩, Cors, Log, 인증, 권한 등을 구현 인터셉터 스프링의 Spring Context의 기능 Bean같은 느낌 스프링 컨테이너로 다른 빈을 주입하여 사용하기 용이하다. 다른 빈을 활용하여 인증, 권한 등을 구현 할 수 있다. 프로젝트를 진행하면서 Fi.. 2022. 12. 30.
Spring Boot + JPA + H2 로컬에서 개발을 진행할때 데이터베이스에 임시로 데이터를 넣고 진행해야하는 상황이 자주 발생한다. Spring Application 실행 시 자동으로 기초 데이터를 넣을 수 있게 data.sql을 작성해서 넣어보자 Gradle Entity: 일반적으로 실행시 발생하는 에러이다. TB_USER이 생성 되기 전에 data.sql의 insert 문장이 실행 된것 같다 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.5-Release-Notes GitHub - spring-projects/spring-boot: Spring Boot Spring Boot. Contribute to spring-projects/spring-boot developm.. 2022. 12. 26.
HttpSecurity 설정 정리 Security 설정을 하면서 쓰는 설정 값들을 정리해본다. http authorizeRequests : 시큐리티 처리에 HttpServletRequest를 이용한다. antMatchers : 특정 경로 지정. permitAll : 모든 사용자 접근 가능. hasRole : 특정 권한을 가진 사람만이 접근할 수 있음. formLogin : form 태그 기반의 로그인을 지원하는 설정 sessionManagement : 세션 정책 설정 maximumSession(1) : 같은 아이디로 1명만 접속하도록 설정 maxSessionPreventLogin(false) : 기존 사용자가 접속했고 새로 접속하는 사용자가 있을 경우 기존 사용자는 접속을 끊고 새로 들어오는 사용자를 받는다. 2022. 12. 20.
Spring Boot + Spring Security + H2 DataBase 써보기 Spring Boot + Spring Security를 사용하면서 데이터 베이스에 연결해서 사용하는 경우가 있다. 제일 간편하게 사용 가능한 H2를 사용해보자! build.gradle application.yml spring security configure 설정 Application 실행 후 http://localhost:8080/h2-console/로 접속하면 User Name : sa Password : 1234 application.yml에 설정한 값으로 입력한다 진입하면 우리가 익히 아는 화면이 아닌 다른 화면이 보이는 듯하다. 개발자 도구를 열어보면 어떤것이 'deny' 되었다는 것을 확인할 수 있다. 위의 configure 설정에 아래 문장을 추가해주자 재접속 성공이다. Spring Secu.. 2022. 12. 19.
Spring Security인 액션[ING] 해당 게시물은 서적의 진행과 다른 설정, 다른 구성의 코드를 갖고 있는 경우가 있습니다. 참고 부탁드립니다. Gradle, Java 17로 진행했습니다. 가볍게 Controller 설정 가볍게 프로젝트 설정 > 실행시 Spring Security에서 password를 보여준다. 실행에 성공했으니 localhost:8080/hello로 들어가보자. 결과 : 401 Unauthorized Authorization을 설정하지 않아서 나타난 결과이다. Postman에 설정해보자 Username : user가 default Password : 위 spring-security UUID 입력 200 OK UserDetaileService, PasswordProvider을 설정해보자 설정값으로 다시 접속 ERROR :.. 2022. 12. 14.
[Spring] consumes 사용하기 프로젝트를 진행하면서 JSON 데이터와 MultipartFile을 한번에 저장하고 싶어 적용해보았다. 우선 consumes는 @RequestMapping의 수신, 출력하고자 하는 데이터 포맷을 정의할 수 있다. JSON, MultiPartFile을 한번에 받고 싶을때는 consumes를 사용하지 그러지 않을 시 415에러 Unsupported Media Typ를 만날 수 있가. (+ 요청/응답의 매개변수의 설정이 잘못됐을때 주로 발생한다.) 2022. 11. 22.