반응형

전체 글 42

(2) 스프링부트, JPA로 구현한 로그인을 시도한 사용자의 접속 시간 저장

Formatter를 이용한 LocalDateTime 처리 웹에서 전달되는 데이터는 JSON 형식의 데이터일 수도 있고 첨부파일 등이 포함되는 경우에는 form-data 혹은 일반적인 웹에서 사용하는 x-www-form-urlencoded 일 수도 있습니다. 이러한 처리 과정에서 날짜/시간은 항상 주의해야 합니다. 날짜/시간은 브라우저에서 문자열로 전송되지만, 서버에서는 LocalDate 혹은 LocalDateTime 으로 처리됩니다. 그렇기 때문에 이를 변환해 주는 Formatter를 추가해서 이 과정을 자동으로 처리 할 수 있도록 설정합니다.   addFormatters 메서드는 스프링의 WebMvcConfigurer 인터페이스에 정의된 메서드 중 하나로, 애플리케이션에서 사용하는 데이터 형식을 일관되..

(1) 스프링부트, JPA로 구현한 로그인을 시도한 사용자의 IP 저장

추후 Redis로 이 기능을 변경하기 전 단계로 관계형 DB인 MariaDB에 로그인을 시도한 사용자의 IP를 저장하는 기능을 스프링부트, JPA로 구현하여 보자. 사이트를 유지보수 하다보면 로그인을 시도한 사용자의 ip정보나 로그를 수집할 필요가 있기도 합니다.사용자가 웹브라우저를 통해 접속을 하거나 혹은 다른 HTTP 클라이언트를 통해 웹서버에 요청을 할 경우, Spring MVC에서 HttpServletRequest 객체에는 다양한 정보가 포함됩니다. 이 정보는 클라이언트의 HTTP 요청과 관련된 다양한 속성 및 헤더를 포함합니다.몇 가지 주요한 정보는 다음과 같습니다.요청 URL 및 메소드 정보:request.getRequestURL(): 요청 URL을 가져옵니다.request.getMethod(..

React와 Spring Boot를 함께 사용하는 환경에서 서버 사이드 렌더링(SSR) 구현하기...(작성중)

스프링부터와 리액트로 프로젝트를 진행하면서 기존과는 다른 경험을 하게 되어 리액트같은 SPA 언어의 동작과정에 대해서 다시 생각하는 계기가 되었습니다. 기존의 스프링부트로 웹사이트 구축 작업을 할때, 백엔드는 스프링부트,  프론트는 Thymeleaf 라는 자바 템플릿 엔진을 사용하여 작성된 HTML파일이나 JQuery, JavaScript 등의 스크립트 프로그래밍 언어로 작성된 JSP파일로 구현을 하게 됩니다. 스프링부트에서 JSP 형식의 프론트 페이지를 구현하려면 스프링부트에서 JSP 뷰 파일을 반환하는 다음과 같은 코드를 작성한 후 주소창에 http://localhost:포트번호/member/hello 를 입력하면 이 뷰 파일이 보이게 됩니다.  보통 스프링부트의 컨트롤러에서 작성된 URL 아래의 메..

AuthenticationFailureHandler, AuthenticationEntryPoint 차이점

최근에 스프링 시큐리티를 이용하여 기본 로그인을 구현한 후 에러 메시지를 더 자세히 분기처리하여 화면단으로 리턴하는 코드를 작성한 후 코드리뷰를 받게 되었습니다.  이 코드에 대해서 코드 리뷰 시 아래와 같은 수정 사항이 나왔습니다. 1. 에러 코드와 에러 메시지는 enum이나 yml, xml, json 파일로 따로 빼서 관리  2. if~else if 문은 가독성이 좋지 않기 때문에 사용이 권장되지 않으니 제거 요구됨3. 스프링 시큐리티의 Filter단에서 발생하는 에러도 Servlet단에서 처리하여 에러를 중앙집중식으로 관리되도록 해야 함  1. 에러 코드와 에러 메시지는 enum이나 yml, xml, json 파일로 따로 빼서 관리domain 패키지 밑에 enum 타입의 ErrorCode를 만들어 ..

백준/프로그래머스) 소개 및 풀이 코드 Github에 자동 커밋방법

https://bolob.tistory.com/entry/Tools-%EB%B0%B1%EC%A4%80-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4%EB%A5%BC-Github%EC%97%90-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0-%EB%B0%B1%EC%A4%80%ED%97%88%EB%B8%8C-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8 [Tools] 백준 / 프로그래머스를 Github에 연동하기 - 백준허브 플러그인 백준허브 (BaekJoonHub) 의 역할 백준이나 프로그래머스 알고리즘 사이트에서 푼 문제를 자동으로 깃허브에 올려줍니다. 문제풀이를 한 기록을 직접 하지 않고, 깃허브에 자동으로 남겨..

반응형