BE/Spring

· BE/Spring
환경) H2 DB 1. INSERT(UPDATE) update(query, ...) 를 사용하는 경우 추가된 행의 갯수를 반환받을 수 있다. @Override public int insert(ReviewDto dto) { int result = jdbcTemplate.update( "INSERT INTO REVIEWS (SEQ, USER_SEQ, PRODUCT_SEQ, CONTENT, CREATE_AT) VALUES (null, ?, ?, ?, null)", dto.getUserSeq(), dto.getProductId(), dto.getContent() ); return result; } 2. SELECT 쿼리를 통해 얻은 데이터 결과값을 dto, vo로 변환해주는 작업이 필요하다. 이 작업을 RowM..
· BE/Spring
안녕하세요. 이번 포스팅에서는 Spring Security에서 JSON 형식으로 로그인하는 방법에 대해서 알아보겠습니다. 아래의 내용에서 자신의 개발 방향에 맞게 커스텀하시면 될 듯 합니다. 1. UsernamePasswordAuthenticationFilter 살펴보기 로그인 요청이 들어오면, 인증 필터를 거쳐 UsernamePasswordAuthenticationFilter에서 ID와 PW를 처리합니다. - SPRING_SECURITY_FORM_UESRNAME_KEY, SPRING_SECURITY_FORM_PASSWORD_KEY : username과 password 인자 값 설정 - DEFAULT_ANT_PATH_REQUEST_MATCHER : 로그인 요청 URL 설정 위의 소스는 UsernamePa..
· BE/Spring
Spring의 Interceptor에서 로그인 세션이 없는 경우, return false를 하게 구현하였다. 이 구조에서, 추가로 react를 붙여서 같이 Interceptor를 사용하였다. 아래 소스처럼 response에 데이터를 writer를 이용해서 넣어주면 return false를 해도 response를 넘겨줄 수 있다. public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception{ if( sessionDto == null ) { /**** 어느 플랫폼에서 요청이 왔는 지 확인 ****/ String type = StringUtility.procNull..
· BE/Spring
안녕하세요. 이번 포스팅에서는 개인 프로젝트를 진행하면서 React와 Spring Security를 적용시킨 방법에 대해서 포스팅하겠습니다. 개인 프로젝트이고, 공부하고 있다보니 참고용으로 봐주시면 감사하겠습니다. (소스는 맨 아래에 있습니다.) 참고로, 필자는 username, password가 아닌 userId와 userPassword로 파라미터를 받도록 하였습니다. 1. 로그인 시, JSON 요청으로 로그인하는 방법(JSON 응답 포함) https://ajdahrdl.tistory.com/260?category=1007900 [Spring Security] JSON으로 로그인 및 응답하기 안녕하세요. 이번 포스팅에서는 Spring Security에서 JSON 형식으로 로그인하는 방법에 대해서 알아보..
· BE/Spring
이 포스팅은 아래의 강의를 참고하였으니 여기에서 공부하시는 것을 추천드립니다. https://inf.run/tcLk [무료] 스프링부트 시큐리티 & JWT 강의 - 인프런 | 강의 스프링부트 시큐리티에 대한 개념이 잡힙니다., - 강의 소개 | 인프런... www.inflearn.com 1. JWT 임시 토큰을 만들어서 기본 흐름 확인하기 1) 컨트롤러에서 권한 테스트 할 함수 만들기 // user,manager,admin 권한만 접근 가능 @GetMapping("/api/v1/user") public String user(Authentication authentication){ PrincipalDetails principalDetails = (PrincipalDetails) authentication...
· BE/Spring
이 포스팅은 아래의 강의를 참고하였으니 여기에서 공부하시는 것을 추천드립니다. https://inf.run/tcLk [무료] 스프링부트 시큐리티 & JWT 강의 - 인프런 | 강의 스프링부트 시큐리티에 대한 개념이 잡힙니다., - 강의 소개 | 인프런... www.inflearn.com 1. JWT 임시 토큰을 만들어서 기본 흐름 확인하기 1) MyFilter3 자바 파일 수정하기 이전 포스팅에서 생성한 MyFilter3 자바 파일에 토큰을 확인하는 로직을 추가 package com.cos.security1.config.filter; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http...
· BE/Spring
이 포스팅은 아래의 강의를 참고하였으니 여기에서 공부하시는 것을 추천드립니다. https://inf.run/tcLk [무료] 스프링부트 시큐리티 & JWT 강의 - 인프런 | 강의 스프링부트 시큐리티에 대한 개념이 잡힙니다., - 강의 소개 | 인프런... www.inflearn.com 1. JWT(JSON Web Token) 정보를 JSON 객체로 안전하게 전송하기 위한 개방형 표준(RFC 7519) 디지털 서명이 되어 있으므로 신뢰 가능 RSA or ECDSA 알고리즘을 이용 구조 Header: 토큰 유형과 서명 알고리즘 정보가 담김 Payload: 엔터티(사용자) 및 추가데이터에 대한 설명. 즉, 통신하고자하는 정보가 담김 Signature: 서명관련된 정보가 담김 Signature: ((Heade..
· BE/Spring
이 포스팅은 아래의 강의를 참고하였으니 여기에서 공부하시는 것을 추천드립니다. https://inf.run/tcLk [무료] 스프링부트 시큐리티 & JWT 강의 - 인프런 | 강의 스프링부트 시큐리티에 대한 개념이 잡힙니다., - 강의 소개 | 인프런... www.inflearn.com JWT를 공부하기 전에 아래의 기초 배경 지식들을 이해하고 들어가자. 1. 세션 및 쿠키의 기본 흐름 사용자가 특정 웹사이트에 최초 요청을 함. 서버에서 세션 정보 그리고 이 세션 정보를 대표하는 세션ID를 생성하고 header에 세션ID를 담아서 보내줌 웹 브라우저에 보내줌 그럼 사용자의 웹 브라우저는 이 세션 ID를 쿠키라는 웹브라우저의 저장소에다가 저장 이후에 요청할 때는 세션 ID를 담아서 요청함 서버에서 해당 세..
멍목
'BE/Spring' 카테고리의 글 목록