분류 전체보기
-
23/11/9 Spring Security 끝, RestTemplate?카테고리 없음 2023. 11. 9. 19:42
WHAT I DID TODAY 3주차 끝 4주차 자기전까지 AOP 특강 알고리즘 스터디 DETAILS // 인증 처리 public void setAuthentication(String username) { SecurityContext context = SecurityContextHolder.createEmptyContext(); Authentication authentication = createAuthentication(username); context.setAuthentication(authentication); SecurityContextHolder.setContext(context); } 인증 처리를 하는 코드인데 빈 security context를 만들고 authentication에 userna..
-
23/11/8 필터, 스프링 시큐리티, 스프링 기초오늘/Today I.. 2023. 11. 8. 21:39
WHAT I DID TODAY 스프링 3주차 특강 (스프링, 알고리즘) DETAILS 회원가입 구현 및 Filter @Enumerated(value = EnumType.STRING) 데이터 enum타입을 DB컬럼에 저장할때 사용하는 옵션 EnumType.STRING 이걸 쓰면 enum 이름 그대로 데이터베이스에 저장 양방향 암호 알고리즘 - 암호화 : 평문 -> (암호화 알 like-it-too.tistory.com 스프링 입문 + 웹 Spring Framework 모델-뷰-컨트롤러 아키텍처: MVC 모델(model) : 컨트롤러와 데이터를 연결하고 비즈니스 로직이 작성된다. @Service 뷰 (view) : 사용자 인터페이스 담당. FE가 전담 컨트롤러 (controller) : 사 like-it-t..
-
스프링 입문 + 웹프로그래밍/Spring 2023. 11. 8. 21:39
Spring Framework 모델-뷰-컨트롤러 아키텍처: MVC 모델(model) : 컨트롤러와 데이터를 연결하고 비즈니스 로직이 작성된다. @Service 뷰 (view) : 사용자 인터페이스 담당. FE가 전담 컨트롤러 (controller) : 사용자의 요청을 처리하고 모델과 뷰 사이를 연결 @Controller MVC를 기반으로 모든 스프링 프레임워크가 짜여져있다. Bean 관리 싱글톤 (singleton) 패턴 기본적으로 스프링은 각 빈 정의에 대해 하나의 객체 인스턴스만을 생성한다. 이것이 싱글톤 디자인 패턴을 따르는 것으로, 같은 빈 ID나 이름으로 컨테이너에 요청을 하면, 스프링은 항상 동일한 객체 인스턴스를 반환한다. @컨트롤러, @서비스 라고 되어있는 부분에서는 내부 프로퍼티를 사용하..
-
회원가입 구현 및 Filter스파르타 강의 정리 2023. 11. 8. 20:36
@Enumerated(value = EnumType.STRING) 데이터 enum타입을 DB컬럼에 저장할때 사용하는 옵션 EnumType.STRING 이걸 쓰면 enum 이름 그대로 데이터베이스에 저장 양방향 암호 알고리즘 - 암호화 : 평문 -> (암호화 알고리즘) -> 암호문 - 복호화 : 암호문 -> (암호화 알고리즘) -> 평문 단방향 암호 알고리즘 - 암호화 : 평문 -> (암호화 알고리즘) -> 암호문 - 복호화 : 불가능 그럼 로그인 시에 암호화된 비밀번호를 서버가 어떻게 검증하는가? -> PasswordEncoder가 match 메소드를 제공하기 때문에 DB에 저장된 암호화된 비밀번호와 비교하여 일치여부를 확인 TMI boolean 타입은 is로 시작한다. getter, setter와 같은..
-
스프링 SQL 설정 중 발생한 com.mysql.cj.jdbc.Driver 에러오늘/Error 2023. 11. 7. 21:10
강의에서 스프링 기본 설정 코드를 복붙하던 중 이러한 에러가 떴다. 패키지를 읽을 수 없다고 하는데 그러면 의존성에서 이전 프로젝트의 설정을 가져오기로 했다. 그런데 현재 build.gradle에서 sql 관련 의존성은 runtimeOnly로 지정되어 있었고 내가 붙여넣고 싶은 코드는 implementation 이었다. 다른데? 나 이거 붙여넣어도 되나? 불안감이 생겼지만 일단 붙여넣고 빌드해보았다. 이상하게도 빌드가 된 후 저 부분의 빨간색이 사라졌다. 튜터님께 이것에 관해 질문해보았고, implementation이 runtimeOnly를 포함하고 있어서 그런것이라고 하셨다. 그런데 혹시하는 궁금증에 다시 이것을 다시 입력하고 implementation을 주석처리하고 빌드해보니 에러 없이 정상적으로 동..
-
3-5, 3-6 JWT스파르타 강의 정리 2023. 11. 7. 20:46
JWT (Json Web Token)란 JSON 포맷을 이용하여 사용자 관련 속성을 저장하는 Claim 기반 Web Token. 일반적으로 쿠키저장소를 사용하여 저장. 서버가 한대면 모든 클라이언트의 로그인 정보를 가지고 있기 때문에 문제가 발생하지 않는다 서버가 2대 이상이면 클라이언트와 서버사이에 로드밸런서가 개입하게 되는데 클라이언트의 요청을 원하는 서버로 보내지 않는데 미리 대처해두지 않으면 여기서 문제가 발생한다. 각 서버의 세션마다 가지고 있는 클라이언트 로그인 정보가 다를 수 있다. (세션1은 클라이언트1~10, 세션2는 클라이언트 11~20 등) 그래서 클라이언트1의 요청이 서버2 서버3으로 보내지게 된다면 문제가 발생한다. 해결방법은 두가지가 있다. 1. Sticky Session : 클..
-
3-3, 3-4 인증과 인가 / 쿠키와 세션스파르타 강의 정리 2023. 11. 7. 20:34
인증과 인가란 무엇일까? 아이디 카드가 있으면 너는 어디까지 갈 수 있니? 인증 Authentication - 로그인 할 때 아이디카드 수준을 판단. 처음 한번만 실행 - 해당 유저가 실제 유저인지 인증하는 개념 ex. 폰 지문인식, 사이트 로그인 등 인가 Authorization - 아이디카드를 통해 접근권한을 인가 - 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인 *HTTP 통신은 비연결성과 무상태로 이루어져 있다. 비연결성 Connectionless - 서버와 클라이언트가 연결되어 있지 않음 - 서버의 리소스 절약을 위해 - 사실상 하나의 요청에 하나의 응답을 보낸 후 연결을 끊고 있다고 생각하면 된다. 무상태 Stateless - 서버가 클라이언트의 상태를 저장하지 않음 - 이 또한 서버..