분류 전체보기252 Spring Security 구조 이해해 보기 (이 포스트는 우테코 테코톡 영상 - Spring Security 편의 내용을 정리하기 위해서 작성했습니다.) Spring Security는 내부적으로 여러 클래스와 인터페이스들을 거침으로써 웹에서 인증(Authentication)과 인가(Authorization) 작업을 쉽게 구현할 수 있도록 한다. ✅Spring Security 구조 내부 구조는 크게 보면 다음과 같다. 1. AuthenticationFilter 2. AuthenticationManager 3. AuthenticationProvider 4. UserDetailsService 5. UserDetails 6. SecurityContextHolder (1) AuthenticationFilter Spring Security의 구조를 크게 살.. 2023. 7. 11. AWS RDS: 스프링 서버와 AWS DB 연결하기 ✅AWS RDS란? Relational Database Service으로, 데이터베이스를 AWS 인스턴스로 올려서 원격으로 접속 가능하게 하는 서비스이다. 보통은 AWS EC2나 S3을 사용해서 서버 인스턴스를 배포하거나 파일을 저장하는 용도로 사용하지만, RDS를 사용하면 DB를 원격으로 접근 가능하게 할 수 있다. 이번에 RDS를 쓴 이유도 같은 DB 스키마를 가지고 협업할 때 공통으로 접근할 수 있는 DB가 있으면 좋을 것 같아서였다. 각자 로컬에 DB를 만들고 마이그레이션해도 되지만, 그러다가 DB가 꼬일 수도 있기 때문이다. AWS RDS와 스프링 서버를 연결하는 방법은 총 두 단계이다. 1. AWS RDS 인스턴스 시작 2. 스프링 서버 설정 변경 이중 1번 과정에서는 한 유튜브 영상을 참고해.. 2023. 6. 30. Spring Security Tutorial: Basic Authentication, JWT Authentication (인프런 Spring Boot JWT Tutorial 강의와 Amigoscode 유튜브 강의를 참고하여 진행했습니다.) 인프런 강의 2강에서 SecurityConfig 클래스를 등록할 때 WebSecurityConfigurerAdapter 클래스를 상속받아 진행하는 부분이 있었는데, 현재는 WebSecurityConfigurerAdapter 클래스는 deprecated 된 상태라 사용할 수 없었다. 따라서 다른 유튜브 강의를 참고해서 진행하였다. ✅Basic Authentication 프로젝트를 시작할 때 spring security를 dependency로 더하지 않았었다. MavenRepository에서 코드를 찾아 build.gradle 파일의 dependencies 변수에 추가해 준다. implem.. 2023. 6. 25. controller-service-repository ✅controller-service-repository 디자인 패턴 디자인 패턴 중 controller-service-repository 패턴을 사용해서 클래스를 만들고, 저번에 연결했던 mysql에 API를 사용해서 데이터가 저장되도록 해 보았다. 컨트롤러의 경우, @RestController 어노테이션(Annotation)을 사용해서 해당 클래스를 REST 컨트롤러로 등록해 준다. @RestController는 REST API 기능을 수행할 때 붙이고, @Controller는 REST API가 아닌, 일반 뷰를 렌더링하는 용도의 클래스에 등록한다. 또한 디자인패턴 클래스들 중 컨트롤러가 가장 먼저 요청(request)을 받게 되는데, 해당 요청을 다음 클래스인 서비스(service)로 넘겨주기 위해서.. 2023. 6. 23. JPA-Mysql 연결: Driver 연동 오류, dialect 관련 오류 이전에 들었던 스프링 강의에서는 Spring Data JPA를 사용하기 위해서 H2 데이터베이스를 사용했는데, 이게 용량이 작을뿐더러 실제 생활에서 많이 사용되는 데이터베이스는 아니라고 하셨다. 그래서 Spring Data JPA를 Mysql과 연동하여 사용해 보려고 한다. 우선 스프링에서 제공하는 '스프링과 mysql 연동하기' 가이드 코드를 참고했다. mysql 프로그램은 이전에 xampp를 통해 apache 서버와 함께 다운받아 뒀었어서 추가로 설치할 것은 없었다. ✅Driver 클래스와 Driver 연동 에러 그런데 application.properties 파일 코드에서 에러가 났다. 해당 코드에서 에러가 발생한 것이었다. (지금은 에러를 해결한 상태라 파란색이지만, 원래는 붉은 글씨로 Class.. 2023. 6. 22. signals ✅Definition Signal은 전체 프레임워크 내에서 어떤 이벤트가 발생했을 때, 그 이벤트의 발생을 알려주는 notification의 역할을 한다. 모든 signal은 django.dispatch.Signal 클래스의 인스턴스들이며, 사용자는 signal을 받을 수도 있고, 직접 signal을 만들 수도 있고, 많이 사용되는 signal 객체들을 받을 수도 있다. (주로 django.core.signals, django.db.models.signals 등 ~signals. 파일에 명시되어 있다.) signal을 받거나 준다는 것은 무엇일까? signal을 받는다는 것은 어떤 이벤트가 발생했을 때 알림(notification)을 받는다는 것이고, signal을 준다는 것은 어떤 이벤트가 발생했을 때.. 2023. 6. 21. 이전 1 ··· 24 25 26 27 28 29 30 ··· 42 다음