Project/2023-02 캡스톤디자인(7)
-
[Spring Security] Filter 구현 (3)
이번 포스팅에서는 인증(Authentication)에 성공하면 호출되는 CustomAuthSuccessHandler와 인증이 실패했을 때 호출되는 CustomAuthFailureHandler를 구현하고, 인가(Authorization) 과정까지 마치려고 한다. 우선 구현하기에 앞서 인가 작업을 위해서 JWT를 도입하였으며, 여기서 사용되는 Refresh토큰 저장을 위해 Redis를 사용하게 되었다. 사전 준비 과정은 다른 포스팅에서 진행해주었다. https://bes99.tistory.com/57 SpringBoot 3.1.x Redis 설정 (with JWT) SpringBoot에서 인증(Authentication) 및 인가(Authorization) 필터를 구현하면서 JWT를 도입하였고, Refres..
2024.04.08 -
[Spring Security] SpringBoot 3.1.x Redis 설정 (with JWT)
SpringBoot에서 인증(Authentication) 및 인가(Authorization) 필터를 구현하면서 JWT를 도입하였고, Refresh 토큰의 저장소로 Redis를 채택하여 구현하려고 한다. 1. build.gradle 내부 redis 및 JWT 의존성 추가 // Redis implementation group: 'org.springframework.data', name: 'spring-data-redis', version: '3.1.3' implementation group: 'io.lettuce', name: 'lettuce-core', version: '6.2.6.RELEASE' // JWT implementation group: 'io.jsonwebtoken', name: 'jjwt-a..
2024.04.08 -
[Spring Security] Filter 구현 (2)
이번 포스팅에서는 인증(Authentication)에 관련된 클래스들을 정의하고 구현해보려고 한다. 먼저 인증 작업을 처리하기 위해 사용되는 AuthenticationFilter 클래스를 먼저 정의하였다. 1) CustomAuthenticationFilter 클래스 생성 public class CustomAuthenticationFilter extends UsernamePasswordAuthenticationFilter { public CustomAuthenticationFilter(AuthenticationManager authenticationManager) { super(authenticationManager); } @Override public Authentication attemptAuthent..
2024.04.05 -
[Spring Security] Filter 구현 (1)
Spring Security는 Spring 기반의 애플리케이션에서 보안 분야에서 사용되는 인증 및 접근 제어를 담당한다. 주요 목적은 Java 애플리케이션에 대한 인증과 인가를 제공하는 것으로, 웹 보안과 메소드 수준 보안을 모두 지원한다. Spring Security는 다음과 같은 역할을 수행한다. 인증(Authentication): 사용자가 누구인지 확인하는 프로세스이며, Spring Security는 폼 기반 인증, HTTP 기본 인증, LDAP, OAuth2 등 다양한 인증 메커니즘을 지원한다. 인가(Authorization): 인증된 사용자가 수행할 수 있는 작업을 결정한다. 예를 들어, 특정 역할을 가진 사용자만 특정 웹 URL에 접근하거나, 특정 메소드를 실행할 수 있는 권한을 제한할 수 있..
2024.04.05 -
[Flask] ResNet활용 API 개발
인공지능 모델을 서버에 띄우기 위해서 flask를 통해 개발을 진행하였다. 평소 SpringBoot를 메인으로 개발하였기 때문에 flask를 처음 사용해보았는데, 익숙하지 않아 바로 개발에 들어가기는 어려움이 있어 하나씩 천천히 찾아보며 개발을 진행하였다. from flask import Flask, request, jsonify from tensorflow.keras.models import load_model from tensorflow.keras.preprocessing import image from tensorflow.keras.applications.inception_resnet_v2 import preprocess_input import numpy as np import pandas as p..
2024.03.07 -
Haversine 공식을 이용한 거리순 반환 로직 개발
프로젝트 개발 중 현재 위치 (위도,경도) 기반으로 가까운 병원을 반환해야 하는 API가 필요한 상황이 생겼다. 거리의 기준을 어떻게 잡을까에 대한 고민을 하던 중 Haversine 공식을 사용하면 쉽게 가까운 순의 병원들을 조회 할 수 있다는 점을 알게 되었고 이에 관한 내용을 정리하고자 포스팅을 하였다. Haversine 공식이란? 하버사인 공식은 지구와 같은 구체의 두 점 사이의 거리를 결정하기 위해 항해와 지리에서 사용되는 수학 공식이다. 이것은 구면의 두 점 사이의 각도의 절반의 사인을 계산하는 데 사용되는 하버사인 함수의 이름을 따서 지어졌다 하버사인 공식은 지구 표면의 두 점 사이의 거리, 특히 짧은 거리를 계산하는 데 유용하다. 일반적으로 내비게이션 및 매핑 소프트웨어, GPS 장치 및 기..
2024.03.07