본문 바로가기 메뉴 바로가기

Power of Positive Thinking

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Power of Positive Thinking

검색하기 폼
  • 분류 전체보기 (47)
    • 프로그래밍언어 (11)
      • JAVA (10)
      • PYTHON (1)
    • Computer Science (7)
      • OS (5)
      • DataBase (2)
    • Algorithm (6)
      • Data Structure (2)
      • Impressive Solution (4)
    • Web (20)
      • Spring (7)
      • Node.js (4)
      • HTML & CSS & JS (5)
      • React (2)
      • Django (2)
    • Infra (2)
      • AWS (1)
      • Git (1)
      • Docker (0)
    • __notouch__() (0)
    • 기타 (1)
    • 킹콩지능 (0)
      • Deep Learning (0)
  • 방명록

Web/Spring (7)
[JWT] JWT & SpringBoot에 Security 설정 & 커스텀 Filter 추가

▷ 인증 방법 3가지 1. 세션 기반 인증 (서버 기반 인증) - 하나의 도메인에서 사용할 때 : 만약 유저가 로그인을 하게 되면, 서버 측에서 유저가 현재 로그인 중이라는 인증정보를 기억하고 있어야 한다. 이 정보를 세션이라고 부른다. 세션을 유지하기 위해서는 메모리, 디스크, 데이터베이스 시스템 등에 담아둔다. 하지만 이러한 방식은 큰 규모의 어플리케이션을 개발하기에 어려움이 있다. ※ 스프링 시큐리티도 세션 기반 인증이다. ※ 세션에는 객체를 저장할 수 있지만, JWT는 문자열 타입만 저장할 수 있다. ※ 세션 기반 인증의 문제점 2가지 ✔️ 세션을 유지하게 될 때, 로그인 중인 유저가 많아지면 메모리 또는 디비의 성능에 무리가 간다. ✔️ 서버 확장이 어렵다. 세션을 사용하면서 분산된 시스템을 설..

Web/Spring 2021. 4. 23. 00:22
[Spring] 스프링 시큐리티 구조 - 1

스프링 시큐리티 설정 자체는 간단(?)하지만, 스프링 시큐리티가 지원하지 않는 인증 방식을 사용한다거나 HttpSession이 아닌 다른 장소에 인증 객체를 보관하기 위해서는 스프링 시큐리티의 동작 방식을 이해하고 그 중 필요한 부분의 기능을 알맞게 변경할 수 있어야 한다. 1. SecurityContext, SecurityContextHolder, Authentication ▶ 흐름 org.springframework.security.core.Authentication은 스프링 시큐리티에서 사용자(웹 브라우저, REST로 접근한 외부 시스템)의 보안 관련 정보를 보관하는 역할을 한다. ✔️ 보안 관련 정보란? 1. 사용자의 인증 여부 2. 사용자가 가진 권한(Authority) 3. 이름 및 접근 주체..

Web/Spring 2021. 4. 21. 00:55
[Spring] Cookie / Session

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

Web/Spring 2021. 3. 29. 21:50
[Spring] ORM vs MyBatis / SqlSessionTemplate

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

Web/Spring 2021. 3. 28. 21:56
[Spring] WebApplicationContext / ConnectionPool

※ 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..

Web/Spring 2021. 3. 28. 21:45
[Spring] Spring Legacy Project 설정 / Maven(빌드툴) / Log4j

[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(안드로이드 기본), ..

Web/Spring 2021. 3. 16. 18:26
[Servlet] Dynamic web project / Servlet / Controller

※ 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..

Web/Spring 2021. 3. 15. 20:42
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • ES6
  • 생성자필드메소드
  • 정적멤버
  • 백준
  • jre
  • Git
  • 자바스레드
  • 자바스크립트Call-back
  • @functools.lru_cache
  • nodejs
  • 익명자식객체
  • dynamic-project
  • method와 function
  • nunjucks
  • 백준2206 파이썬 풀이
  • 자바스크립트Promise
  • os
  • sequelize.fn
  • java
  • 사용자정의예외클래스
  • 자바빌드도구
  • 객체지향개념
  • jdk
  • yarn start
  • @functools.wraps
  • @functools.singledispatch
  • 인스턴스멤버
  • es6모듈
  • 클래스와객체
  • 메이븐 저장소
more
«   2025/07   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바