일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구멍가게코딩단
- 자료구조와 함께 배우는 알고리즘 입문
- iterator
- 자료구조와함께배우는알고리즘입문
- 스프링부트핵심가이드
- ㅒ
- network configuration
- 목록처리
- 선형대수
- 데비안
- 페이징
- 코드로배우는스프링웹프로젝트
- 친절한SQL튜닝
- Kernighan의 C언어 프로그래밍
- GIT
- baeldung
- 이터레이터
- 처음 만나는 AI 수학 with Python
- 알파회계
- resttemplate
- d
- 서버설정
- /etc/network/interfaces
- 코드로배우는스프링부트웹프로젝트
- 리눅스
- 티스토리 쿠키 삭제
- 처음 만나는 AI수학 with Python
- 자바편
- 네트워크 설정
- 스프링 시큐리티
- Today
- Total
목록Framework (105)
bright jazz music

usernamePasswordAuthenticationFilter : 로그인 폼 인증 처리. formLogin()과 그 하위 API들을 설정하면 인증처리가 초기화 되면서 로그인 인증처리가 작동할 수 있도록 시큐리티가 구성작업을 한다. 실제 사용자가 로그인을 하게 되면 인증처리를 담당하고 그 요청을 처리하는 필터가 이 필터이다. 이 필터가 내부적으로, 각 인증처리 역할에 따라서 여러 클래스를 활용하여 인증 처리를 하게 된다. 인증처리 과정 - 사용자 요청 - 필터가 그 요청을 받는다. - AntPathRequestMatcher() 메서드를 사용해서 요청 정보가 매칭되는지 확인. 기본값을 /login. loginProcessingUrl() 이 값이 변경되면 그에 맞게 AntPathRequestMatcher(..

1. Form 로그인 절차 설명 1. 접근 시도 2. Form 리다이렉트 3. POST[ id + pw] 인증처리- 계정 정보가 맞는 경우 스프링 시큐리티가 세션 생성 객체 생성- 세션에 최종 성공한 인증결과를 담은 인증 토큰 객체(Authetication 클래스)를 시큐리티 컨텍스트에 생성. 저장 - 이 시큐리트 컨텍스트를 세션에 저장한다. 4. 클라이언트가 다시 접근을 시도하면, 스프링 시큐리티는 사용자가 가진 세션으로부터 토큰 존재 여부판단. 그 토큰으로 계속 접근. 스프링 시큐리티는 토큰에 기반해 인증 유지/ 2. 폼 로그인 인증 방식에서 사용하는 API 설명 http.formLogin()을 적어주면 폼 로그인 인증 기능이 작동 loginPage() : 경로를 적어주면 사용자 정의 로그인 페이지 ..

WebSecurityConfigurerAdapter : 스프링 시큐리티의 웹 보안 기능을 초기화 하고 설정하는 핵심 클래스이다. 의존성 추가하고 스프링 시큐리티가 초기화 보안 기능을 활성화 하고 보안 기능을 설정하는 클래스가 이 클래스이다. 여기서 HttpSecurity 클래스를 생성하고, 이 클래스가 세부적인 보안 설정을 가능케 하는 API를 제공한다. SecurityConfig 클래스 생성 - WebSecurityConfigurerAdapter 상속 - 내부에서 HttpSecurity 클래스 생성 스프링 시큐리티가 추가된 상태에서 서버를 기동하면 WebSecurityConfigurerAdapter 클래스가 작동한다. HttpSecurity 객체를 생성하고 그 것을 사용해서 대략 11개 정도의 API들..

1.1. 프로젝트 구성 1.2. 테스트를 위한 컨트롤러 생성(SecurityController.java) package io.security.basicsecurity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class SecurityController { @GetMapping("/") public String index(){ return "home"; } } 1.3. main 메서드 실행 브라우저를 열고 아래의 주소 입력 http://localhost:8080 ==> 아직 스프링 시큐리티..
스프링부트 DB 없이 구동하는 법 스프링부트 db없이 구동하는 법 package com.alg_web.alg_web; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; //아래처럼 @SpringBootApplication 어노테이션에 다음과 같은 파라미터 등록 (exclude = DataSourceAutoConfiguration.class) @SpringBootApplication(exclude = D..

1. @ManyToOne 어노테이션 DB구조로 보면 앞으로 생성될 board 테이블과 member테이블에는 FK를 이용한 참조가 걸려있게 된다. member 테이블의 email을 board에서 FK로 참조하는 구조이다. JPA에서 관계를 고민할 때는 FK쪽을 먼저 해석해 보면 편리하다. 따라서 FK를 사용하는 board 먼저 살펴본다. board와 member는 N:1(다대일)의 관계가 된다. 따라서 이를 의미하는 @ManyToOne을 적용해야 한다. @ManyToOne은 DB상에서 외래키의 관계로 연결된 엔티티 클래스에 설정한다. Board클래스는 작성자가 Member엔티티를 의미하므로 아래와 같이 FK를 참조하는 부분을 추가한다. 1-1. Board 클래스의 변경(Member writer 작성) //..

1. entity 패키지 생성하고 BaseEntity.java 추가하기 entity 패키지는 이후 추가할 엔티티 클래스들을 보관하는 용도로 사용한다. BaseEntity는 추후 작성할 엔티티클래스들이 상속(extends) 할 클래스이다. package com.example.bootboard.entity; import lombok.Getter; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax...

● bootboard라는 이름의 프로젝트 생성하여 다대일 연관관계를 실습하자 1. 프로젝트 생성 2. DB연결 설정(build.gradle & application.properties) 2-1. build.gradle 설정 추가 mariadb-java-client (jdbc) thymeleaf-extras-java8time (타임리프의 시간 처리 관련 라이브러리) 수정 후 gradle refresh 필수!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //build.gradle plugins { id 'org.springframework.boot' version '2.7.2' id 'io.spring.dependency-management' version '1.0.12.RELEASE' id '..

● 회원과 게시글과 댓글이라는 주제로 JPA에서의 연관관계를 적용할 수 있는 방법을 학습한다. 연관관계를 분석하고 @ManyToOne을 이용한 연관관계 설정하는 법 연관관계가 없는 상황에서 left(outer) join 처리 방법 즉시(Eager) 로딩과 지연(Lazy) 로딩의 차이와 효율적 처리 방법 1. 관계형 DB 에서의 entity(개체) 간의 관계(relation) 관계형 DB에서는 아래와 같은 관계로 데이터 간의 구성을 표현한다. 일대일 (1:1) 다대일 (N:1) 다대다 (M:N) 이러한 표현을 구분하는 것이 PK(주키, Primary Key)와 FK(외래키, Foreign Key)의 사용 방식에 대한 설정이다. 한 명의 회원이 여러 게시글을 작성할 수 있다. (다대일) 한 게시글에 여러 개..

1. 조회 페이지 검색 처리 기존의 조회 페이지는 Page 값만 처리했다. 따라서 다시 목록으로 돌아가는 링크 앞에서 처리한 것과 동일하게 type과 keyword값을 추가해 줘야 한다. 조회 페이지는 현재 PageRequestDTO 컨트롤러에서 @ModelAttribute를 이용해서 'requestDTO'라는 이름으로 처리하고 있다. //GuestbookController.java @GetMapping({"/read", "/modify"}) // modify도 추가하였다. 조회/수정을 위한 메서드 public void read(long gno, @ModelAttribute("requestDTO") PageRequestDTO requestDTO, Model model){ log.info("gno: " +..