
▷ 인증 방법 3가지 1. 세션 기반 인증 (서버 기반 인증) - 하나의 도메인에서 사용할 때 : 만약 유저가 로그인을 하게 되면, 서버 측에서 유저가 현재 로그인 중이라는 인증정보를 기억하고 있어야 한다. 이 정보를 세션이라고 부른다. 세션을 유지하기 위해서는 메모리, 디스크, 데이터베이스 시스템 등에 담아둔다. 하지만 이러한 방식은 큰 규모의 어플리케이션을 개발하기에 어려움이 있다. ※ 스프링 시큐리티도 세션 기반 인증이다. ※ 세션에는 객체를 저장할 수 있지만, JWT는 문자열 타입만 저장할 수 있다. ※ 세션 기반 인증의 문제점 2가지 ✔️ 세션을 유지하게 될 때, 로그인 중인 유저가 많아지면 메모리 또는 디비의 성능에 무리가 간다. ✔️ 서버 확장이 어렵다. 세션을 사용하면서 분산된 시스템을 설..
스프링 시큐리티 설정 자체는 간단(?)하지만, 스프링 시큐리티가 지원하지 않는 인증 방식을 사용한다거나 HttpSession이 아닌 다른 장소에 인증 객체를 보관하기 위해서는 스프링 시큐리티의 동작 방식을 이해하고 그 중 필요한 부분의 기능을 알맞게 변경할 수 있어야 한다. 1. SecurityContext, SecurityContextHolder, Authentication ▶ 흐름 org.springframework.security.core.Authentication은 스프링 시큐리티에서 사용자(웹 브라우저, REST로 접근한 외부 시스템)의 보안 관련 정보를 보관하는 역할을 한다. ✔️ 보안 관련 정보란? 1. 사용자의 인증 여부 2. 사용자가 가진 권한(Authority) 3. 이름 및 접근 주체..

HTTP는 무상태(stateless- 상태를 유지하지 않음) 프로토콜이다. 즉, 재요청 시 서버는 클라이언트를 기억하지 못한다. 그래서 상태를 유지하기 위한 기술로 쿠키와 세션을 이용한다. 즉, 쿠키나 세션방식을 이용해서 클라이언트가 옛날에 접속했던 클라이언트인지 기억해내는 것이다. ※ Cookie cf> document tomcat.apache.org/tomcat-9.0-doc/servletapi/index.html 문자 데이터를 클라이언트에 저장하고, 서버에서 사용할 목적으로 활용 실행 흐름 클라이언트(브라우저) 서버 1 쿠키 생성 (이름:값) 해서 Response Header에 쿠키를 넘겨줌 2 쿠키 저장 3 쿠키사용 (쿠키 값을 이용) - 서버가 자기가 사용할 목적으로 클라이언트에 쿠키를 저장한다..

※ ORM (Object Relational Mapping ) - 객체 관계 맵핑 애플리케이션에서 자바 객체를 ORM에 넘겨주면 ORM은 SQL로 생성해서 DB에 전달해서 결과를 가져오고, 결과를 다시 자바 객체로 변환하여 전달해준다. 애플리케이션 개발자는 SQL을 볼 수 없다. ORM 내부에 들어가있기 때문에 설정만 잘 하면 SQL이 자동적으로 생성된다. ORM에서 생성되는 SQL문이 DB에서 실행되어야 하므로 ORM과 DB는 밀접한 관계가 있다. 그럼 애초에 DB를 생성할 때 ORM에 최적화된 구조로 생성해야 한다. ORM은 개발자가 SQL에 전혀 관여할 수 없다. 베일에 쌓여져 있다. 이 문제를 해결하기 위해서 MyBatis는 애플리케이션과 SQL문을 직접 생성한다. 직접 SQL을 작성할 수 있기 ..

※ Controller -----> Service -----> Dao ※ Service 패키지 생성 ▶ @Service 어노테이션 설정 시 스프링의 관리 객체에 해당된다. cf> @Controller, @RestController, @Service, @Repository, @Component가 붙어있으면 관리 객체에 해당된다. ※ DAO 패키지 생성 ▶@Repository 어노테이션 설정 시 스프링의 관리 객체에 해당된다. ※ Spring이 관리하고 있는 객체를 가져오는 방법 (n가지) @Autowired private Exam04Service exam04Service; 1. @Autowired. => DI (Dependency Injection) 스프링이 관리 객체를 자동 주입시킨다. WebApplic..

[Spring 프로젝트를 생성할 때 다양한 방법] ✔️ Spring Starter Project - Spring Boot 기반 ✔️ Spring Legacy Project - 설정을 하나하나 해줘야 함. 전자정부프레임워크는 이걸 사용하고 있음. - sts 기본 설정 적용됨 ✔️ Dynamic Web Project - 사용자가 직접 설정 cf> Spring MVC Project requires a download of 16608 bytes. -> 무슨의미? jar 파일 다운로드 받는 크기 ※ Maven (= 빌드툴) ▶ 소스 -> 컴파일 -> 빌드 (해당 애플리케이션에 실행 가능한 구조로 만드는 행위 ) ▶ 빌드 후 최종적으로 .war 산출물이 생긴다. ▶ 메이븐 종류 : Gradle(안드로이드 기본), ..

※ Dynamic web project를 생성할 때 알아야 할 것들 ▶ Dynamic web module version 4.0 -> servlet 버전을 의미한다. 실제 운영될 서버 WAS의 버전을 알아내서 프로젝트를 생성 시 버전을 선택해야 한다. - servlet 버전이 결정되면 JSP 버전이 자동으로 결정된다. (Java Servlet 4.0 && JavaServer Pages 2.3) tomcat.apache.org/whichversion.html Apache Tomcat® - Which Version Do I Want? Apache Tomcat® is an open source software implementation of a subset of the Jakarta EE (formally Ja..
- Total
- Today
- Yesterday
- @functools.singledispatch
- 자바스크립트Call-back
- java
- 정적멤버
- nunjucks
- os
- 자바스레드
- @functools.lru_cache
- 자바빌드도구
- method와 function
- 클래스와객체
- jdk
- sequelize.fn
- jre
- nodejs
- 객체지향개념
- Git
- yarn start
- es6모듈
- @functools.wraps
- 사용자정의예외클래스
- 생성자필드메소드
- 메이븐 저장소
- 자바스크립트Promise
- 백준
- 익명자식객체
- ES6
- dynamic-project
- 인스턴스멤버
- 백준2206 파이썬 풀이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |