
출처: http://www.baeldung.com/sso-spring-security-oauth2 스프링 부트를 이용한 sso 에 관심있어 해당 기사를 번역한다. 1. Overview 이 튜토리얼에서 우리는 Spring Security OAuth 와 Spring Boot 를 이용한 SSO (Single Sign On) 구현방법에 대해 이야기 할 것이다. 우리는 다음 3개의 개별 애플리케이션들을 사용할 것이다. 하나의 인가서버(Authorization Server): 중앙 인증 매카니즘 구현 2개의 클라이언트 애플리케이션: SSO를 사용 매우 간단히 사용자가 클라이언트 애플리케이션 내의 보안된 페이지에 접근하려고 하면 먼저 인증 서버를 통한 인증을 하기 위해 리다이렉트 될 것 이다. 그리고 인증 위임을 위..

프로젝트에서 SSO를 구현해야 하는 부분이 생겼다. SSO가 뭔지도 모르는데 전체 사이트들이 공통으로 사용하는 SSO를 구현해야 하는 부분이라서 일단 SSO가 뭔지 조사하고 공부부터 진행을 해야 할 필요가 있어서 공부를 하는중에 너무 정리들을 잘 해놓은 자료들이 있어서 가져왔다. SSO가 왜 필요한가 SSO가 없을 때의 상황을 먼저 머리속에 그려볼게요. 우선 카카오톡, 페이스북, 넷플릭스 라는 세 가지 서비스를 생각해볼까요. 세 개의 서비스는 각자의 방식으로 로그인을 요구합니다. 아래 사진 처럼요. 카카오톡을 쓰려면 카카오톡 아이디로 로그인을 해야하고, 넷플릭스를 쓰려면 넷플릭스 계정으로 로그인을 해야 해요. 또, 세 어플리케이션이 로그인을 처리하는 방식, 사용자 정보를 저장하는 방식 또한 각자 다를거에..
Auditing을 이용해서 공통으로 등록일과 수정일을 가져와 사용하는 형태로 만들면서 DB 쪽 설계가 char(14) 형태로 나왔다. 이 부분에 대해 얘기를 하였으나 기존 시스템과의 연계 때문에 어쩔수 없다는 답변을 듣고 auditing을 통해 받아온 localDateTime을 String 형태로 변경 해야 했다. 여러 방법을 시도 해 봤으나 @JsonFormat도 안되고 @DateTimeFormat도 안되었다. @Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public abstract class BaseTimeEntity { @CreatedDate @JsonFormat(shape= JsonFormat.Shape.STRI..
대부분의 엔티티에는 @Id 애노테이션을 한 개 사용한다. 하지만 테이블의 키가 복합키로 이뤄져 있다면 엔티티를 설계할 때에 이를 고려해야 한다. 복합키 설정 방법은 두 가지가 있다. 1. @Embeddable 이용하는 방법 2. @IdClass 이용하는 방법 첫 번째 방법이 객체지향 방식에 가깝다고 한다. 두 번째 방법은 DB 방식에 가깝다고 하는데 잘 와닿지는 않는다. @Embeddable 이용 방법 다음과 같이 emp 테이블이 존재한다. emp 테이블의 키는 emp_name, emp_no 두 개의 복합키로 이뤄져 있다. create table emp ( emp_name varchar(255) not null, emp_no integer not null, name varchar(255), primary..
개발을 진행 하는중에 JPA 를 사용하게 되었다. JPA를 처음 사용해보는 상태에서 CUD 는 JPA 를 이용하고 SELECT의 경우 MyBatis 를 사용하도록 프로젝트가 구성 되었다. 샘플 페이지를 만들어 보니 Update에서 문제가 발생 하였다. requestDto에서 보내온 정보를 Entity에 넣으면서 데이터가 null 인 부분도 모두 업데이트를 치는 형태로 만들게 되었다. 이 부분을 어떻게 해결할수 있는 부분이 없어서 검색을 하다 보니 너무 편하게 사용할수 있는 소스를 찾았다. @RequestMapping(value = "/rest/user", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBo..
Numeric 정수 또는 소수 값을 저장 Oracle 에서의 Number, MySQL Decimal 와 같은 의미로 보면 된다. Numeric(p,s) 실수(10진수) p : , s: 소수점 자리수 ex ) numeric(7,3) -> 전체자리는 7자리, 소수점 3자리를 의미함 Integer 오직 정수만 저장 NameStorage SizeDescriptionRange smallint 2 bytes small-range integer -32768 to +32767 integer 4 bytes typical choice for integer -2147483648 to +2147483647 bigint 8 bytes large-range integer -9223372036854775808 to 92233720..
표기법 varchar(n) 및 char(n)은 각각 character varying(n) 및 character(n)의 별명이다. 둘 다 똑같지만 많은 데이터베이스가 주로 postgreSQL이 제공하는 다양한 문자를 제공하지 않는다. 따라서 Oracle Postgre 및 DB2와 같은 다중 데이터베이스의 경우 Varchar를 사용하는 것이 좋다. 형명설명 character varying( n ) 、 varchar( n ) 상한있는 가변 길이 character( n ) 、 char( n ) 공백으로 채워진 고정 길이 text 제한없는 가변 길이 PostgreSQL에서 사용할 수있 는 범용 문자 형식을 보여줍니다. SQL은 2 개의 주요 문자 데이터 형식을 정의합니다. character varying(n), ..
JAVA8의 LocalDateTime을 이용해서 DB로 부터 데이터를 받아와서 JSP 페이지에 값을 넣으려고 하는데 에러가 발생 하였다. There was an unexpected error (type=Internal Server Error, status=500). Cannot convert [2019-04-17T15:43:16] of type [class java.time.LocalDateTime] to [class java.util.Date] javax.el.ELException: Cannot convert [2019-04-17T15:43:16] of type [class java.time.LocalDateTime] to [class java.util.Date] at org.apache.el.lang..
- Total
- Today
- Yesterday
- 인공지능
- springboot최신기능
- Java21
- PostgreSQL
- 프로그래밍
- GraalVM
- 레코드패턴
- 코딩
- 백엔드
- SQL
- springboot3
- java17
- postgresql튜닝
- 스프링
- 스프링부트
- java
- AI혁신
- springsecurity6
- 국정원경고
- 피싱공격
- 개발자
- db설계
- jakartaee10
- 클린코드
- 게임추천
- Ai
- varchar
- pc게임
- virtualthreads
- XBOXSERIESX
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |