자동 설정의 의한 기본 보안 작동 서버가 가동되면 시큐리티의 초기화 및 보안 설정 가동별도의 설정이나 코드 작성 없이 -> 기본적 웹 보안기능 1) 모든 요청에 대하여 인증 여부 검증 2) 인증 방식은 폼 로그인 방삭, HttpBasic 로그인 방식 3) 인증을 시도
HTTP 기반 폼 로그인 인증 메커니즘을 활성화 API, 사용자 인증을 위한 사용장의 정의 로그인 페이지를 쉽게 구현 기본 로그인 페이지를 사용, 사용자 이름과 비밀번호 필드가 포함된 로그인 양식을 제공 사용자는 웹 폼을 통해 자격 증명 제공, SpringSecurit
<익명 인증 사용자>익명 사용자 익명으로 인증된 사용자, 인증되지 않은 사용자, → 단지 액세스 제어 속성을 구성하는 편리한 방법 제공 → 인증 받은 사용자와 인증 받지 않은 사용자를 객체를 따로 구분 , 익명 사용자는 세션에 사용하지 않겠다. 인증 받지 않은 상
스프링 시큐리티는 기본적으로 DefaultLogoutPageGeneratingFilter를 통해 로그아웃 페이지 제공 “get/logout” URL로 접근이 가능 로그아웃 실행은 기본적으로 “ POST / logout “으로만 가능, CSRF 기능을 비활성화, 혹은 R
RequestCache인증 절차 문제로 리다이랙트 된 후에 이전에 요청했던 정보를 담고 있는 savedRequest 객체를 쿠키 혹은 세션에 저장, 필요시 다시 가져와 시행 HttpSessionRequestCache → Session에 request를 저장SavedRe
인증 (Authentication)<인증 아키텍처>인증 (Authentication)Authentication 인증은 특정 자원에 접근하려는 사람의 신원 확인 사용자 인증은 일반적 방법은 사용자 이름과 비밀번호를 입력. 인증 수행, 신원을 알고 / 권한을 부여 →
인증 필터로 부터 Authentication 객체를 전달받아 인증을 시도, 성공시 → 사용자 정보 권한등을 포함한 완전히 채워진 Authentication 객체를 반환 (인증 받기 전과 인증 받은 후 다리 역할)AuthenticationManager는 여러 Authen
사용자의 자격 증명을 확인하고 인증 과정을 관리하는 클래스, 사용자가 시스탬에 엑세스 하기 위해 제공한 정보가 유효한지 검증하는 과정 포함 다양한 유형의 메커니즘을 지원, 사용자 이름과 비밀번호를 기반으로 한 인증, 토큰 기반 인증, 지문인식 등 처리 성공한 후 Aut
사용자와 관련된 상세 데이터를 로드하는 것, 사용자의 신원, 권한, 자격증명 → 정보 포함 인터페이를 사용하는 클래스는 주로 AuthenticationProvider를 사용, 사용자가 시스탬에 존재하는지 여부와 사용자 데이터를 검색하고 인증 과정을 수행 user가 없다

사용자의 기본 정보를 저장하는 인터페이스, → SpringSecurity에서 사용하는 사용자 타입 어떤 DB에서 사용자 정보를 가져왔을때 → User객체를 만들때 클래스 타입 다양. SpringSecurity는 사용자 정보를 가져올때 사용자 타입 지정.UserDetai

SecurityContextRepository 스프링 시큐리티에서 사용자가 인증을 한 후 요청에 대해 계속 사용자의 인증을 유지하기 위해 사용되는 클래스 -> 인증을 유지 하기위해서 인증상태를 저장 인증 상태의 영속 메커니즘은 사용자가 인증 하게 되면 해당 사용자의 인
필터를 건너 뛰고 MVC 컨트롤러에 엔트포인트 설정해서 사용 요청간 인증을 저장 -> HttpSessionSecurityContextRepository를 사용하여 인증 상태 저장

동시 세션 제어는 사용자가 동시에 여러 세션을 관리 maximumSessions의 설정 값에 따라 제어 여부 판단 사용자 세션 강제 종료 A,B 사용자가 로그인을 했을때, 나중에 로그인한 Session만 남기고 나머지는 logout 처리 사용자 인증 시도 차단 첫 Se

세션 고정 공격은 악의적 공격자가 사이트 접근 -> 세션 생성 -> 다른 사용자가 같은 세션으로 로그인 하도록 유도 사용자가 로그인 할때 새로운 세션을 생성하거나, 세션 ID를 변경 -> 공격에 자동으로 대응 changeSessionId() 기존 세션을 유지, 세션 I
인증된 사용자에 대한 세션 생성 정책을 설정, 어떻게 세션을 관리 -> 결정 가능 SessionCreatePolicy.ALWAYS 인증 여부에 관계없이 항상 세션을 생성 ForceEagerSessionCreationFilter 클래스를 추가 구성, 세션을 강제로 생성

요청이 시작된 이후 사용자가 인증 되었는지 감지, 인증이 된 경우, 세션 고정 보호 메커니즘을 활성화, 동시에 다중 로그인 확인, -> 설정된 세션 인증 전략 SessionAuthenticationStrategy을 호출하는 필터 클래스 SessionRegistry에서