본문 바로가기
반응형

분류 전체보기386

[spring oauth2 ResourceServer] oauth2 에서 CORS 설정 테스트 CORS란? 교차 출처 리소스 공유(Cross-Origin Resource Sharing) 이라 불리며 다른 사이트에서 우리쪽 서버에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제다. 대표적으로 모바일과 서버(back-end)가 그렇고, 요즘 Front-end 쪽에도 독립적으로 서버를 구성하는 경우가 있어 Oauth2를 사용한다면 반드시 알아두어야 할 점이다. 서비스를 구축하는 과정에서 cors 에러가 발생했고, 관련하여 정리하는 글이다. 아래는 브라우저에서 호출할 때 발생한 에러다 서버측 로그는 다음과 같다. org.springframework.security.access.AccessDeniedException: Access is denied at org.springframework.sec.. 2020. 4. 4.
[DBMS] 트랜잭션 격리수준 (isolation level) 트랜젝션 격리 수준이란? 특정 트랜잭션이 다른 트랜잭션에 의해 변경된 데이터를 볼 수 있도록 허용할지 여부를 결정하는 것이다. 격리수준은 4개로 나뉜다 - READ-UNCOMMITTED - READ-COMMITTED - REPEATABLE-READ - SERIALIZABLE 아래로 내려갈수록 고립 정도가 높아진다 고립정도가 높아진다는 의미는 단순하고 엄격해짐을 의미한다. SERIALIZABLE 수준잉 되면 SELECT를 하는것만으로도 잠금(LOCK)을 설정되어 다른 트랜잭션에서 이 레코드를 전혀 변경하지 못하게 된다. 데이터 정합성은 좋아지겠지만 문제는 성능저하가 높아진다는 것이다. 일반적인 온라인 서비스에서는 READ COMMITTED와 REPEATABLE READ를 사용한다. 오라클의 경우 기본값은 .. 2020. 4. 3.
[querydsl, mysql] DATE_FORMAT 등 이용해 groupby 사용하기 DB의 날짜형태가 datetime 으로 되어있는데, 종종 날짜별로 그룹해서 데이터를 뽑아야할 때가 있다. 예를들어 다음과 같은 형태다 (원본) 2020-04-01 11:25:00 => (원하는 포멧) 2020-04-01 이럴경우 mybatis에서는 dbms함수를 사용해서 호출하면 되는데 querydsl 을 사용한다면 dbms함수를 따로 호출해야 한다. 그리고 결과로 나온 값을 DTO로 담아야 하는것도 신경써야 한다. 그래서 여기서는 1. groupby 를 쓸때 date_format 함수(mysql, 날짜형 변형 함수)사용법 2. 결과값을 dto에 넣기 두가지를 알아볼 예정이다. 1. (groupby) datetime을 date 유형으로 묶기 테이블 엔티티를 선언할때 날짜유형을 LocalDateTime 으.. 2020. 4. 2.
[springboot, oauth] Resource Server(자원서버) 구축하기 이전 포스팅에 이어 자원서버 구축하는 과정이다. Authorization Server(인증서버) 구축하기 https://lemontia.tistory.com/927 [springboot, oauth] Authorization Server(인증서버) 구축하기 OAuth2 역할은 크게 4가지로 분류된다 - Resource Owner - Authorization Server - Resource Server - Client :: Resource Owner는 유저를 뜻한다. 내가 만든 서비스를 이용하고자 하는 고객을 의미한다 :: Author.. lemontia.tistory.com 지난번 포스팅에서는 access_token을 받을 수 있는 서버 구축의 글이었다면, 이번에는 서버 접근 제한 권한 및 토큰을 이용해.. 2020. 3. 29.
[springboot, oauth] Authorization Server(인증서버) 구축하기 OAuth2 역할은 크게 4가지로 분류된다 - Resource Owner - Authorization Server - Resource Server - Client :: Resource Owner는 유저를 뜻한다. 내가 만든 서비스를 이용하고자 하는 고객을 의미한다 :: Authorization Server는 인증서버를 말한다. 이 요청은 요청을 보낸 고객이 우리가 인증할 수 있는 고객인지(우리 고객이 맞는지)를 확인해주는 역할을 한다. 만약 데이터베이스로 유저를 관리하고 있다면 고객인지를 확인하고(ID와 패스워드 비교 등 파악) 유효시 access_token을 발급하여 리턴한다. :: Resource Server는 자원(API 등)이 있는 서버를 말한다. access_token을 통해 접근하여 자원을 활.. 2020. 3. 21.
[react + next.js] 페이지 이동(push, href 차이) 기본적으로 를 이용해서 페이지이동을 하겠지만 비니지스 로직이 완료된 후에 페이지로딩을 해야할 때가 있다. 그때 사용하는 방법이라 보면 되겠다. document.location.href 는 사용할 수 없다. 사용하게 되면 history가 모두 날라가고 새로고침을 하는 것과 같아진다. 공식 홈페이지에 보면 next/router 를 이용해 사용이 가능하다고 되어있다. 아래 두개를 각각 구현해 보았다 그리고 페이지가 새로고침 되는지 확인해보기 위해 console.log를 찍어보기로 했다. import {Button} from "react-bootstrap"; import Router from "next/router"; const Community = () => { console.log("=============.. 2020. 3. 19.
반응형