본문 바로가기

분류 전체보기

(330)
jwt - refresh token spring security 6 를 적용해서 jwt 토큰으로 login 처리를 하는 것은 인프런 강의를 참고해서 성공했다. 하지만 access token 처리만 하기 때문에 보안이 아쉬워서 refresh token을 사용하는 예제를 보여주는 도서를 따로 구입했다.
Junit & AssertJ package com.blog; import org.junit.jupiter.api.*; public class JUnitCycleTest { @BeforeAll // 전체 테스트 시작 전 1회 실행 (static으로 선언) static void beforeAll(){ // DB 연결이나 테스트 환경 초기화할 때 사용 System.out.println("@BeforeAll"); } @BeforeEach // 테스트 케이스 시작 전마다 실행 public void beforeEach(){ // 메서드에 사용되는 객체 초기화하거나 미리 필요한 값을 넣는 경우 사용 System.out.println("@BeforeEach"); } @Test public void test1(){ System.out.println..
트러블슈팅 11/30 1. 문제정의 Junit에서는 분명히 회원가입이 잘되었는데, spring security 적용 및 api 호출로 웹에서 회원가입을 진행했을때, 403에러가 발생했다. 2. 사실수집 403 Forbidden 오류는 클라이언트가 요청을 서버에 전송했을 때, 서버가 해당 요청을 이해하고 있지만, 권한이 없어서 요청을 거부했음을 나타내는 오류이다. 3. 원인추론 spring security 6버전은 deprecated 된게 많아서 익숙치 않아서 그렇다고 생각했다. 근데 아니었다. passwordEncoder부터 차츰차츰 다시 적용해서 테스트해가면서 무엇이 문제인지 살폈다. 부트스트랩 템플릿을 적용해서 편하게 프론트 개발을 하려고 했는데, 템플릿js파일때문에 json으로 인코딩되지않음. 스프링 시큐리티..
Thymeleaf 경로 설정하기 thymeleaf에서 static에 있는 정적 리소스를 접근하려면 이런식으로 바로 접근이 가능하다(현재 프로젝트에는 static/assets/js/js파일 구조 이다.) 하지만 templates의 도메인별 폴더를 만들어서 thymeleaf-layout-dialect를 적용했더니 경로가 안맞아서 파일이 다 깨졌다... thymeleaf 공부안하고 무작정 하니 이런 문제가 발생하는구나. thymleaf에도 jsp처럼 Context Path 사용이 가능하다. @{/} 표현식으로 상대경로 문제를 처리해줄 수 있다. See User Profile 변수 표현식도 중첩 사용가능하다. 여러개의 매개변수도 쉼표로 구분해서 사용 가능하다. @{/order/process(execId=${execId},execType='FA..
카카오맵api https://devtalk.kakao.com/t/api/46856 지도 api 주소로 좌표 불러오는 기능 없어졌나요? 과거 daum map api 시절 addr2cord라는 이름의 메소드를 통해 주소로 해당 지점의 좌표(위도,경도) 값을 가져오는게 가능했던걸로 알고있습니다. 지금 doc에서는 해당 기능을 찾을 수가 없는데 혹시 없 devtalk.kakao.com 결국 또 카카오맵 api를 이용하기로 했다.(네이버api보다 무료이용량이 많음. ) Daum Postcode api : 별도 키가 필요 없음. 지도로도 위치 선택하면 주소 찾아올 수 있음. good
LocalDate 자료 참고 https://jeong-pro.tistory.com/163
기간 선택 캘린더 https://flatpickr.js.org/ flatpickr Introduction Introduction flatpickr is a lightweight and powerful datetime picker. Lean, UX-driven, and extensible, yet it doesn’t depend on any libraries. There’s minimal UI but many themes. Rich, exposed APIs and event system make it suitable for any flatpickr.js.org vanila js로 돌릴수 있는 캘린더를 찾아보다가 가볍고 UI 디자인도 괜찮은 라이브러리를 발견했다. 라이센스도 MIT라서 마음놓고 사용가능하다.
spring security에서 @PreAuthorize가 안먹힐때 (SpringBoot 3.0 이상) 나는 컨트롤러 메소드에 API별로 @PreAuthorize를 넣었는데 시큐리티가 해당 어노테이션을 수행하지 않았다. 그래서 검색해봤다. 클래스 상단에 @EnableMethodSecurity를 붙여주면 해결된다. import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; 아쉽게도 spring security6버전 이상 자료는 아직 많이 없는 듯 하다.... package com.nahwasa.springsecuritybasicsettingforspringboot3.controller; import org.springframework.security.access.prepost.PreAuthori..