전체 글 (113) 썸네일형 리스트형 기본 인증 필터 - BasicAuthenticationFilter 정수원님의 **스프링 시큐리티 완전 정복** 강의 내용 기록입니다 !! BasicAuthenticationFilter기본 인증 서비스 제공BasicAuthenticationConverter를 사용하여 요청 헤더에 기술된 인증 정보의 유효성을 체크하고 Base64 인코딩된 username과 password를 추출유효성 체크 : 요청 헤더에 Authentication: Basic [인코딩값] 이 있는지 확인유효성 검사 성공시 인코딩값을 통해 username, password 추출하여 UsernamePasswordAuthenticationToken에 저장기본인증의 경우 일반적으로 세션을 사용하지 않음세션을 사용하는 경우 : 인증 과정에서 세션에 인증정보 저장, 매 요청마다 인증 과정을 거치지 않음세션을 .. 기본 인증 - httpBasic() 정수원님의 **스프링 시큐리티 완전 정복** 강의 내용 기록입니다 !! HTTP Basic 인증HTTP는 엑세스 제어와 인증을 위한 프레임워크를 제공, 가장 일반적인 인증 방식은 "Basic" 인증 방식인증 프로토콜은 HTTP 인증 헤더에 기술되어 있음 Client↓ GET /home인증되지 않은 상태)서버 → 클라이언트401 UnauthorizedWWW-Authenticate: Basic realm="localhost"서버는 클라이언트에게 인증 요구를 보냄401 Unauthorized 응답WWW-Authenticate 헤더 ≫ realm(보안영역)과 Basic 인증 방법 포함↓username, password 입력 후 다시 요청클라이언트 → 서버GET /homeAuthorization.. DP(다이나믹 프로그래밍) 동적 계획법하나의 큰 문제를 작은 문제로 나누어 푸는 알고리즘중복되는 부분 문제를 memorization함으로써 반복 계산을 피해 효율성을 높임 재귀 vs DP재귀는 함수가 자기 자신을 호출하여 문제를 푸는 방식, 중복된 계산 발생 가능DP 구현 방법 중 재귀 포함 (Top-Down 방식)DP는 재귀와 유사하지만, 결과를 저장하고 재활용함으로써 기하급수적인 함수 호출을 막음memorization 차이 ! 분할 정복 vs DP분할 정복은 문제를 작고 독립적인 하위 문제로 나누고, 각 문제를 독립적으로 해결중복된 계산이 없으며, 한 번 계산된 값은 재사용되지 않음.DP는 부분 문제들이 동일하며, 중복된 부분 문제들을 memorization하고 재사용함중복된 계산을 피하고, 동일한 하위 문제를 여러 번 풀지.. 이분탐색 / Upper Bound / Lower Bound 이분탐색public static int[] arr = {1, 2, 3, 3, 3, 4, 5, 6};public static int binary_search(int[] arr, int target){ int left = 0, right = arr.length - 1; while (left target) { right = mid - 1; } else if (arr[mid] 이분 탐색을 위해서는 리스트 정렬이 필수중간 위치의 값과 찾으려는 값을 반복적으로 비교하여 mid값이 target인 경우의 인덱스 반환반복문 / 재귀함수 사용 가능Java에 이진탐색을 제공하는 메소드 존재List list;Collections.sort(list);Collections.binarySearc.. 폼 인증 필터 - UsernamePasswordAuthenticationFilter 정수원님의 **스프링 시큐리티 완전 정복** 강의 내용 기록입니다 !! AbstractAuthenticationProcessingFilter스프링 시큐리티는 AbstractAuthenticationProcessingFilter 클래스를 사용자의 자격 증명을 인증하는 기본 필터로 사용보통 AbstractAuthenticationProcessingFilte 를 상속받은 클래스로 사용 UsernamePasswordAuthenticationFilter 클래스 또는 직접 정의 클래스UsernamePasswordAuthenticationFilter 클래스는 HttpServletRequest에서 제출된 사용자 이름과 비밀번호로부터 인증을 수행인증 프로세스가 초기화 될 때 로그인 페이지와 로그아웃 페이지 생성을 .. 폼 인증 - formLogin() 정수원님의 **스프링 시큐리티 완전 정복** 강의 내용 기록입니다 !! 폼 인증HTTP 기반의 폼 로그인 인증 메커니즘을 활성화하는 API사용자 인증을 위한 사용자 정의 로그인 페이지를 쉽게 구현할 수 있음기본적으로 스프링 시큐리티가 기본 로그인 페이지 제공 : 사용자 이름 / 비밀번호 필드 포함된 간단한 로그인 양식사용자는 웹 폼을 통해 자격 증명(사용자 이름/비밀번호)을 제공하고, Spring Security는 HttpServletRequest에서 이 값을 읽어 옴 폼 인증 흐름 Client↓ Get /user↓SecurityFilterChain-----권한 검사 필터 : AuthorizationFilter↓접근 예외 발생 : AccessDeniedException↓예외 처리 필터 : Exc.. 사용자 정의 보안 설정하기 정수원님의 **스프링 시큐리티 완전 정복** 강의 내용 기록입니다 !! 사용자 정의 보안 기능 구현한 개 이상의 SecurityFilterChain 타입 빈을 정의인증 API 및 인가 API 설정 1. SecurityConfig class 생성@EnableWebSecurity 어노테이션 필수 선언 2. SecurityFilterChain 빈으로 정의 3. HttpSecurity 의존성 주입 받기 4. 주입 받은 HttpSecurity를 통해 인증 API와 인가 API 설정 인증 API)http.formLogin()http.logout()http.csrf()http.httpBasic()http.SessionManagement()http.RememberMe()http.ExceptionHandling().. DelegatingFilterProxy / FilterChainProxy 정수원님의 **스프링 시큐리티 완전 정복** 강의 내용 기록입니다 !! Filter서블릿 필터 : 웹 애플리케이션에서 클라이언트의 요청(HttpServletRequest)과 서버의 응답(HttpServletResponse)을 가공하거나 검사하는데 사용되는 구성 요소클라이언트의 요청이 서블릿에 도달하기 전이나 서블릿이 응답을 클라이언트에 보내기 전에 ! 특정 작업을 수행할 수 있음서블릿 필터는 서블릿 컨테이너(WAS)에서 생성되고, 실행되고, 종료됨 Client ≫ 요청 (HttpServletRequest)↓(FilterChain)---Filter↓Filter↓Filter---↓Servlet * Filter를 생성하지 않으면 특정 작업 없이 Servlet에 도달* Filter들을 거치며 예외나 오류 .. 이전 1 2 3 4 5 6 ··· 15 다음