본문 바로가기

컴퓨터150

[스프링 시큐리티] AccessToken + RefreshToken을 이용한 로그인 구현(최신코드, TDD) 스프링 시큐리티 스프링 시큐리티를 이용해 리프래쉬 토큰, 액세스 토큰으로 관리되는 회원의 로그인, 권한 등의 코드를 작성한다. 사실 워낙 많이 사용되는 방식이기에 여느 블로그에서 긁어오면 될 줄 알았으나... 버전이 달라짐에 따라 문제가 약간 있어서 찾아보는데 고생을 조금 했다. 2023년 12월 29일 기준 최신 코드로 스프링 시큐리티 인증 인가 관련 작업을 TDD형식으로 구현한다. 이 포스팅에서는 실제 스프링 시큐리티를 사용한 인증, 인가의 구현 뿐 아닌 보안과 관련된 몇몇 용어를 정리하여 스프링에서의 보안에 대한 이해를 돕고자 한다. 인증과 인가 보안 관련 프로그래밍을 할 때 늘 접하는 용어는 인증과 인가이다. 인증(Authentication)이란? 인증이란 사용자가 누구인지 확인하는 단계이다. 예.. 2023. 12. 29.
[PS] 백준 1012/유기농 배추 - 자바 풀이 백준 1012 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있는 것이다. 한나가 배추를 재배하는 땅은 고르지 못해서 배추를 군데군데 심어 놓았다. 배추들이 모여있는 곳에는 배추흰지렁이가 한 마리만 있으면 되므로 서로 인접해있는 배추들.. 2023. 12. 22.
[PS] 백준 1103/피보나치 함수 - 자바 풀이 백준 1103 자바 문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다. fib.. 2023. 12. 20.
[PS] 백준 12851/숨바꼭질 2 - 자바 풀이 숨바꼭질2 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 그리고, 가장 빠른 시간으로 찾는 방법이 몇 가지 인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. 출력 첫째 줄에 수빈이가 동생을 찾는 가장 빠른 시간을 출.. 2023. 12. 20.