"익명으로 인증된" 사용자 = 인증되지 않은 사용자스프링 시큐리티에서는 인증받지 않은 사용자를 익명으로 인증됐다고 표현하며SecurityContextHolder가 항상 Authentication 객체를 포함하여 null을 포함하지 않는다는 것을 규칙으로 세우게 되면 클
SecurityContextRepository / SecurityContextHolderFilter 인증 요청 스프링 시큐리티가 인증 세션에 저장하는 행위를 자동으로 해준다 단, 커스텀한 인증 필터를 만들어서 하는 경우 직접 저장하는 코드를 구현해야한다. 그렇지 않으
동시 세션 제어세션 고정 보호세션 정책SessionManagementFilter & ConcurrentSessionFilter하나의 계정에서 동시세션 제어의 개수를 초과하지 못하도록 제어한다.여러 클라이언트(User라는 Id를 가진 클라이언트가 여러 인터페이스에서 요청
accessDeniedHandler 실패시 보동 403에러 반환accessDeniedHandler 에러가 발생 했지만 발생한 당시에 요청하는 사용자가 인증을 받지 않은 익명 사용지 여부를 먼저 판단하고 익명 사용자인 경우 다시 인증 단계로 되돌린다익명사용자는 인증을 받
CORS : 동일 출처 정책
웹 사이트는 사용자가 이미 인증을 받았기 때문에 인증받은 쿠키로 접속을 하면 누가 됐든 인증 받은 상태로 인식한다. 사용자의 브라우저가 자동으로 보낼 수 있는 인증 정보 예를 들어 쿠키나 기본 인증 세션등과 함께 공격용 페이지와 함께 웹사이트로 요청이 된다 위와 같은
sameSite: 크로스 사이트 간 쿠키 전송에 대한 제어를 핸들링하는 것쿠키 설정할 때 지정.스프링시큐리티에서는 SameSite 속성에 대한 지원을 제공하지 않지만 spring Session에서는 해당 속성을 지원한다.Strict : 사용자가 A서비스에 접속을하여 서
요청 기반 권한 부여HttpSecurity.authorizeHttpRequests() 클라이언트 요청(일반적으로 브라우저로 URL로 요청하는 것) request(경로 등)를 통해서 서버가 어떤 권한을 부여할 것인지 모델링 하는 것 HttpSecurity 인스턴스를 사
정적 자원 관리 스프링시큐리티에서RequestMatcher인스턴스를등록하여무시해야할요청을지정할수있다 주로 정적자원(이미지,CSS,JavaScript파일 등)에 대한 요청이나 특정 엔드포인트가 보안필터를 거치지 않도록 설정할 때 사용 사용 방법 enum으로 정의되어있
: 기본적으로 스프링시큐리티에서 권한과 역할은 계층적이거나 상하관계로 구분하지 않는다.그래서 인증 주체가 다양한 역할과 권한을 부여 받아야 한다RoleHirerachy는 역할간의 계층구조를 정의하고 관리하는데 사용되며 보다 간편하게 역할간의 계층 구조를 설정하고 이를
인가 즉 권한부여는 특정자원에 접근할 수 있는 사람을 결정하는 것을 의미 (신원 확인 후 어떤 권한을 부여할 것인가)Spring Security 는 GrantedAuthority 클래스를 통해 권한 목록을 관리하고 있으며 사용자의 Authentication 객체와 연결
MethodInterceptor(스프링시큐리티 지원), Pointcut, Advisor, AuthorizationManager 등을 커스텀하게 생성하여 AOP 메서드 보안을 구현 할 수 있다순수한 AOP 기술만 가지고도 메서드 보안을 구현할 수 있는 것joinpoint
스프링 시큐리티는 인증이 성공하거나 실패하게 되면 AuthenticationSuccessEvent 또는 AuthenticationFailureEvent 를 발생시킨다이벤트를 수신하려면 ApplicationEventPublisher 를 사용하거나 시큐리티에서 제공하는 A
스프링시큐리티는 다양한 프레임워크 및 API와의 통합을 제공하고 있으며 Servlet3 과Spring MVC와 통합을 통해 여러 편리한 기능들을 사용 할 수 있다인증 관련 기능들을 필터가 아닌 서블릿 영역에서 처리 할 수 있다1) SecurityContextHolder
: 요청에 따른 보안 기능 설정을 하여 실행Spring Security 는 여러 SecurityFilterChain @Bean 을 등록해서 다중 보안 기능을 구성 할 수 있다다중보안 설정하는 경우 각각의 SecurityFilterChain이 생기고 proxy에 Secu
스프링 시큐리티의 PasswordEncoder 인터페이스는 비밀번호를 안전하게 저장하기 위해 비밀번호의 단방향 변환을 수행하는 데 사용일반적으로 PasswordEncoder는 사용자의 비밀번호를 암호화하여 저장하거나 인증 시 검증을 위해 입력한 비밀번호와 암호화 되어
UserDetailsService UserDetailsService 구현 AuthenticationProvider AuthenticationProvider안에 UserDetails가 포함되어있는 것으로 AuthenticationProvider를 구현하여 적용하면