반응형

2019/01 7

[Spring] Spring security + jwt, 토큰 요청 시 "잘못된 자격증명" 뜰 시

잘못된 자격증명 이 뜨는 경우가 많으나 그 중 한 가지 경우에 대해 이야기를 해보려고 한다. 사진과 같이 토큰을 요청했다. 현재 DB에는 다음과 같은 정보가 들어있다. username : robin.kwon@opensurvey.co.kr password : (passwordEncoder.encode("pasword") 를 한 값) 이 때 사진과 같이 정상적으로 요청을 했을 때도 잘못된 자격증명 이라는 오류를 뱉는다. 생각을 해보니 DB 에 있는 `robin.kwon@opensurvey.co.kr` 이란 데이터의 encoding 된 password 값이 일치하지 않아 발생하는 것 같다고 생각했다. 즉, 토큰 요청 시 다음과 같이 동작되야 토큰 요청이 정상적으로 수행이 될 것이다. passwordEncord..

개발/Spring 2019.01.30

[책 ] 객체지향의 사실과 오해

객체지향의 사실과 오해를 읽으며 작성한다. 객체지향이란? 책을 읽으며 처음 내가 자바를 배우면서 알게된 객체지향 에 대한 내용이 첫 챕터에 나온다. 책에서 실세계에 비유하여 설명을 해준다. 그래서 이해가 더 잘되며 기억에도 더 남는 것 같았다. 해당 책에서 객체지향의 개념에서도 얘기를 한다. 객체지향이란 시스템을 상호작용하는 자율적인 객체들의 공동체로 바라고 객체를 이용해 시스템을 분할하는 방법 여기서 자율적인 객체 란 상태와 행위를 지니며 스스로 자기 자신을 책임지는 객체를 의미한다. 또한, 이 책에서는 객체지향에 있어서 가장 중요한 것은 클래스 가 아니라고 한다. 물론, 클래스도 중요하지만 객체의 역할, 책임, 협력 에 집중하라고 한다. 즉, 어떤 객체들이 어떤 메세지를 주고 받으며 협력하는가가 객체..

etc/책 리뷰 2019.01.24

[deprecated] Spring security permitAll 이 동작하지 않을 때

해당 글은 제가 어떤 문제가 일어났었는지, 왜 이렇게 해결했는지에 대한 내용이 없어 잘못된 내용을 전달하고 있다고 생각이 되어 아래 내용은 무시해주시면 감사하겠습니다. 추후 다시 spring security 에서 cors, csrf 에 관한 글을 다시 작성해서 링크를 첨부하도록 하겠습니다 (2021-07-24) @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/api/users/login") .permitAll() .antMatchers("/api/**") .authenticated(); } 위의 코드를 작성했을 때 실제 /api/users/login 에..

deprecated 2019.01.24

[Spring] eureka discovery 서버에 eureka client 등록이 되지 않을 때

eureka disconvery servcer 에 eureka client 가 등록이 되지 않을 때 방법이다. eureka client 의 application.yml 은 다음과 같다. 참고로 꼭 spring.application.name 은 등록해줘야 한다. spring: application: name: oauth-api eureka: client: serviceUrl: defaultZone: ${EUREKA_SERVICE_URL:http://localhost:8761/eureka} instance: preferIpAddress: true eureka client 서버의 Main 클래스에 @EnableEurekaClient 달아줬는지 확인. 이렇게 @EnableEurekaClient 어노테이션을 달아..

개발/Spring 2019.01.17

만화로 배우는 리눅스 시스템 관리 후기

우선 만화로 리눅스 용어나 명령어를 소개해줘서 쉽게 이해가 잘 됐다.목차를 보면 알겠지만 정말 기초적인 내용들이 나오는데 그래도 해당 명령어를 사용하는 순간에 대한 예시를 적절하게 들어줘서 이해가 잘됐다. 좋다고 생각하는 부분들은 목차마다 직접 Q&A 해주는게 나오는데 그게 좋았다. 예를 들어 scp, rcp 차이? 이런 것들이 나와서 좋았다. 계속 리눅스 명령어를 사용해봐야 기억에 남고 손에 남을텐데 따로 사용할 일이 없어서 따로 centos 설치해서 이것저것 해보고 있는데 도움이 많이 되었다. 리눅스 처음 접해보는 사람이나 잘 모르는 사람은 이 책을 읽으면 도움이 많이 될 것 같다.

etc/책 리뷰 2019.01.14

자바 ORM JPA 표준 프로그래밍 후기

자바 ORM 표준 JPA 프로그래밍 책을 읽었습니다. 우선 책을 읽으면서 내용은 JPA 를 처음하는 접하는 사람들은 조금 어려울 수 있다고 느꼈고, JPA 를 조금 접해본 사람들은 많은 도움이 될 것 같은 생각이 듭니다. 초반에 [SQL 로 직접 쿼리를 날려 개발할 때, JPA 사용할 때]의 장단점을 설명을 잘 해줘서 `mybatis, ibatis 를 사용해야 해` 라고 생각하는 사람도 충분히 `JPA 사용해도 괜찮을 것 같다` 라는 생각이 들도록 해주는 것 같습니다. 저는 이 책에서 중요한 내용이 다음의 내용이라고 생각합니다.연관관계 매핑엔티티 생명주기영속성 컨텍스트프록시책의 15장, 16장 (15장-고급주제와 성능 최적화, 16장-트랜잭션과 락, 2차 캐시) 우선 [연관관계 매핑] 에 대한 내용은 `..

etc/책 리뷰 2019.01.14

Spring multi datasource transactionManagaer 설정

아직 해결을 못해서 못 씀 키워드: Chained TransactionManager Jta TransactionManager 해결은 했음.hikari 사용해 datasource 2개 연결했더니 트랜잭션 롤백이 되지 않고 entityManager 를 통해 persist() 메소드 호출하면 바로 db 에 insert 되는 현상이 발생함.내가 datasource 설정을 잘못해서 그런 줄 알았는데 알고보니 테이블 엔진이 MyISAM 이었음. MyISAM 은 트랜잭션을 지원하지 않음. ----

개발/Spring 2019.01.14
반응형