일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Constants pool
- docker mongodb install
- string comparison
- spring filter ordering
- HHH000104
- spring jwt
- springboot jwt example
- docker mongodb
- spring-boot-maven-plugin
- String Constants Pool
- angular jwt
- String Pool
- 기본 Manifest 속성이 없습니다
- JPA
- springboot jwt
- install mongodb docker
- filter ordering
- mongodb install ec2
- springboot mongodb config
- jvm memory structure
- intern
- springboot maven plugin
- jvm memory model
- jvm 모델
- jwt token
- jwt example
- JWT
- springboot-angular-jwt
- jpa pagination
- jvm 메모리 구조
- Today
- Total
목록Spring (19)
개발블로그
프로젝트를 checkout 받았을 때, 간혹 intelliJ가 application.yml을 인식하지 못하는 상황이 생겼다. 그 때, 다음 코드를 pom.xml 에 추가했더니 해결되었다. jar
나는 두가지 방법으로 kafa topic listener를 동적으로 생성하고 싶었다. 서버가 로딩될 때, DB로부터 kafka topic 목록을 받아서 Listener 생성 topic 추가 API를 통해 kafka topic이 DB에 추가될 때마다 Listener 생성 당연히 두개 다 같은 방식으로 동작하므로 1번을 기반으로 정리를 하려 한다. Springboot가 모든 Bean들을 로딩한 뒤, 다음의 코드를 실행시켜야 한다. @Override public void run(String... args) throws Exception { List topics = kafkaTopicService.getTopics(); for (Topic topic: topics) { AnnotationConfigApplica..

그간 RDMBS만 사용해왔어서 mongodb쿼리를 짜는데 어려움이 있었다. 특히 nested array에 object를 추가/수정/삭제할 때, 내가 원하는 것을 찾기 위해 많은 검색을 했었다. 다음에는 검색 시간을 단축시키기 위해 정리한다. 0. Collection 구성 TopicCategory라는 Collection은 다음과 같이 구성되어 있다. 이 글에서 집중적으로 볼 것은 nested array로 구성된 topics 필드이다. 1. 추가 특정한 categoryName을 가지는 document의 topics 배열에 하나를 추가하고 싶었다. 위와 같이 topics 내에 [4]가 추가되길 바랬다. 이를 위해서 다음과 같은 쿼리를 작성하면 된다. (kotlin으로 작성했으나 java와 거의 유사하여 알아보..
Spring Webflux with java로 이용할 때에는 WebFluxConfigurer를 구현했다. @Configuration @EnableWebFlux class WebConfig: WebFluxConfigurer { override fun addCorsMappings(registry: CorsRegistry) { registry.addMapping("/**") .allowedOrigins("*") // any host or put domain(s) here .allowedMethods("GET","POST","OPTIONS") // put the http verbs you want allow .allowedHeaders("*") // put the http headers you want allo..
지난 포스트에서 JWT를 기반으로 로그인하는 흐름과 그 코드에 대해 다루었습니다. 2019/03/28 - [Spring] - Springboot-Angular-JWT기반 A/A기능 구현(1) Springboot-Angular-JWT기반 A/A기능 구현(1) Session을 기반으로 A/A기능을 구현하기 위해 두가지 방법을 이용했었습니다. 1. SpringBoot + Spring Interceptor + Session 기반의 A/A기능 구현 2. SpringBoot + Spring Security + Session 기반의 A/A기능 구.. soon-devblog.tistory.com 이번 포스트에서는 지난 포스트에서 미구현했다고 언급한 refresh token을 추가하여, 인증 구조를 변경하겠습니다. 일반..
Session을 기반으로 A/A기능을 구현하기 위해 두가지 방법을 이용했었습니다. 1. SpringBoot + Spring Interceptor + Session 기반의 A/A기능 구현 2. SpringBoot + Spring Security + Session 기반의 A/A기능 구현 그리고 지난 포스트에서 Session 대신 JWT를 이용하여 A/A기능을 구현할 수 있다고 언급하며 JWT에 대해 다루었습니다. JWT(Json Web Token)란? 이전 포스트들(Authentication/Authorization 기능 구현(1), Authentication/Authorization 기능 구현(2)) 에서 Session을 이용하여 A/A 기능을 구현했습니다. Session에 로그인된 계정을 저장해놓고, 요..
이전 포스트들(Authentication/Authorization 기능 구현(1), Authentication/Authorization 기능 구현(2)) 에서 Session을 이용하여 A/A 기능을 구현했습니다. Session에 로그인된 계정을 저장해놓고, 요청이 올때마다 Session을 조회하여 로그인 여부를 확인합니다. 사용자가 많은 웹어플리케이션의 경우에는 Session을 저장하기 위한 저장소와 조회 행위 모두 비용을 증가시킵니다. 이에 대한 대안으로 JWT가 제안되었습니다. JWT는 JSON 객체로 서버-클라이언트간에 안전하게 정보를 전송하기 위한 방법을 정의한 공개 표준(RFC 7519)입니다. Session에 저장했던 데이터들을 각각의 클라이언트가 JWT형태로 가지고 있자는 취지입니다. 이 포..
이전 포스트에서 다음과 같은 내용을 다루었습니다. 1. Spring security를 쓰지 않고 A/A기능을 구현 2. Spring security의 매커니즘 및 Spring security를 사용하여 A/A기능을 구현 이번 포스트에서는 2번에서 구현한 코드의 문제점과 그 개선안에 대해 살펴보겠습니다. 기존 코드는 Github을 참고하시기 바랍니다. [1] 문제점 파악 기존 코드의 Spring-security configuration에서 authorizeRequest()를 보면 요청URL과 그 URL에 접근 가능한 권한을 설정하는 부분이 하드코딩 되어있습니다. (6~7라인) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 @Override pro..