- @transactional
- spring security 6
- 스프링부트
- PYTHON
- java
- spring mvc
- 1차원 배열
- jpa
- springboot
- session
- join
- select
- DI
- AWS
- 자바
- sql
- ORM
- spring boot
- string
- 데이터베이스
- SSL
- 프로그래머스
- spring
- 스프링
- nginx
- Docker
- Git
- mysql
- 문자열
- Django
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
목록분류 전체보기 (175)
개발하는 자몽
Notice Spring Boot 3.2.5, Spring Security 6.2.5 기반으로 작성한 글입니다. 아래 포스팅들을 먼저 보면 좋습니다.Spring Security 6 - Architecture → Security Exception 처리하기[Spring Security] 토큰 기반 로그인/로그아웃 구현하기 이 글의 목표는 Spring Security에서 토큰 기반 인증을 진행할 때 발생한 예외를 `@RestControllerAdvice`로 처리하는 것입니다. 시큐리티 예외 처리 구현Spring Security에서 예외 처리는 다음과 같은 아키텍처로 이루어진다. FilterChainSpring Security는 `FilterChain`으로 구성되어 있으며, 각 필터는 요청을 처리하거나..
Notice Spring Boot 3.2.5, Spring Security 6.2.5 기반으로 작성한 글입니다. 지난 포스팅에서 이어집니다.[Spring Security]토큰 기반 로그인/로그아웃 구현하기 역할과 권한사용자의 역할(role)과 권한(permission/authority)을 구현하여 기능 접근에 제약을 둘 수 있다. 만일 권한이 없는 기능에 접근하면 403 Forbidden이 발생한다. 역할 및 권한 구현 시 다음과 같은 것들을 고려해야 한다. 한 역할은 여러 개의 권한을 가질 수 있다.여러 명의 사용자는 여러 개의 역할을 가질 수 있다. → 다대다 관계역할을 하나의 Entity로 두어 구현할 수 있지만, 이 경우에 고려할 것이 많아진다. 다대다 관계 매핑 → `@ManyToMany`중..
Notice Spring Boot 3.2.5, Spring Security 6.2.5 기반으로 작성한 글입니다. Notice 24.07.06 로그인 구현 부분 `JwtAuthenticationFilter` 잘못된 내용 수정 Spring Security Authentication ArchitectureSpring Security를 기반으로 보안 관련 기능을 구현하기 위해서는 위의 그림을 이해해야 한다. 아래는 로그인을 예시로 한 Spring Security 인증 과정이다. 1. 사용자가 로그인 정보와 함께 인증을 요청한다. 2. `AuthenticationFilter`가 요청을 가로채어 인증에 사용될 UsernamePasswordAuthenticationToken 객체를 생성한다....public ..
Spring Security 6 - Architecture 공식 문서를 번역했습니다. 필요에 의해 설명을 추가한 부분도 있습니다. Architecture :: Spring SecurityThe Security Filters are inserted into the FilterChainProxy with the SecurityFilterChain API. Those filters can be used for a number of different purposes, like authentication, authorization, exploit protection, and more. The filters are executed in a specdocs.spring.io 🔖목차🔖Spring Security..
이 글은 아래 강의를 바탕으로 작성했습니다. [지금 무료] 시니어 백엔드 개발자가 알려주는 데이터베이스 개론 & SQL | 쉬운코드 - 인프런쉬운코드 | 백엔드 개발자라면 꼭 알아야 할 데이터베이스와 SQL! 이해하기 쉽게 설명하는 것을 최우선으로 합니다., 데이터베이스 + SQL, 누구나 쉽게! 📕 왕초보도 이해하기 쉬운 DB + SQL 기본기!www.inflearn.com relation in SQLRelational Data Model의 relation은 SQL에서 table을 의미한다(완전히 구분 짓지는 않음). 그리고 SQL에서 relation이란 `multiset of tuples`로 중복된 tuple을 허용한다는 의미이다.`multiset`은 중복을 하용하지 않는 `set`과 달리 중복을..
1. 아래 링크에서 각자 OS 맞는 프로메테우스를 다운로드 → https://prometheus.io/download/ 2. 다운로드 후 압축 풀기3. 압축 푼 폴더에 들어가서 실행 프로그램인 `prometheus.exe` 클릭4. 첫 실행인 경우, 클릭 시 아래와 같은 화면이 나타날 수 있다. 여기에서 `추가 정보`를 클릭.5. `실행` 클릭6. 실행하면 아래와 같은 터미널 창이 뜬다.6. 프로메테우스의 기본 포트 `9090`, http://localhost:9090으로 접속7. 끝!
스프링 부트 - 핵심 원리와 활용 | 김영한 - 인프런김영한 | 실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다., 백엔드 개발자를 위한 스프링 부트 끝판왕! 실무에 필요한 내용을 모두 담았습니다. [임베딩 영상] 김영한의 스www.inflearn.com외부설정과 프로필1 오랜만에 Spring을 공부하고 있는데 설정 분리 등을 다 잊어버린 것 같아서 복기 겸 간단하게 정리한다. DB 설정값을 코드 내부가 아닌 개발 서버와 운영 서버에 `application.properties`와 같은 파일을 두어 설정을 주입할 수 있다. 하지만 각 서버에 저장된 설정 파일을 관리하거나 변경 이력을 확인하기 어렵다. 이러한 문제점은 설정 파일을 프로젝트 내부에 포함해서 관리하여 해결할 수 있다. 설..
적용 전 준비할 코드 nginx.conf worker_processes auto; events { worker_connections 1024; } http { ... # for load balancing upstream project_server { server project_server2:8000; server project_server1:8000; keepalive 1024; } server { listen 80; location / { proxy_pass http://project_server/; # upstream 이름 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ... } ... ..
목차SSL/TLSCertbot 설정과 SSL 적용설정 과정더미 인증서 생성인증서 갱신 자동화⭐️ 실제 진행 순서 SSL/TLS전송 계승 상에서 클라이언트, 서버에 관한 인증 및 데이터 암호화 수행클라이언트와 서버 양단간 응용 계층 및 TCP 전송 계층 사이에서 수행보안용 프로토콜로 안전한 보안 채널을 형성하는 역할SSL = Secure Socket Layer TLS = Transport Layer Security HTTPS = HTTP over SSL HTTP에 SSL이 적용된 HTTPS를 이용하여 통신을 암호화하면 보안을 높일 수 있다. 이를 위해서는 SSL 인증서가 필요하다. 우리는 CA 중 하나인 Let's Encrypt를 통해 무료로 인증서를 발급받을 것이다. Let's Encrypt는 SSL ..
상황 EC2를 사용하고 있어서 SSL 적용을 ACM으로 해보려고 했는데 실패하고 Let's Encrypt를 사용했다. ACM SSL 인증서는 AWS Load Balancer, CloudFront, API Gateway를 통해서만 사용할 수 있다. 마침 로드 밸런싱을 Nginx로 하고 있었던 차에 ELB로 바꿔야지 하면서 ALB를 생성했었다. 생성하고 난 다음에 문제는 ALB에서 보내는 헬스 체크 요청이 Nginx(웹서버)에 도달하지 않는 것이다. ALB의 리스너 설정이나 대상 그룹 설정 등을 모두 확인했으나 Nginx에 요청이 도달하지 않았다. 나는 총 3개의 포트를 사용했던 것 같다. 아래 세 개 모두를 보안 그룹에 설정해 두었고, ALB 리스너 설정에도 추가해 두었다. (지금 생각해 보면 80, 44..