반응형

프로그래밍/Spring Security 5

[Spring Security] 스프링 시큐리티 Authentication 메커니즘

옥탑방개발자 님의 강의를 보고 정리한 내용입니다. Authentication 메커니즘 인증 (Authentication) Authentication 는 인증된 결과만 저장하는 것이 아니고, 인증을 하기 위한 정보와 인증을 받기 위한 정보가 하나의 객체에 동시에 들어 있습니다. 왜냐하면, 인증을 제공해줄 제공자(AuthenticationProvider)가 어떤 인증에 대해서 허가를 내줄 것인지 판단하기 위해서는 직접 입력된 인증을 보고 허가된 인증을 내주는 방식이기 때문입니다. 그래서 AuthenticationProvider 는 처리 가능한 Authentication에 대해 알려주는 support 메소드를 지원하고, authenticate() 에서 Authentication을 입력값과 동시에 출력값으로도 ..

[Spring Security] 스프링 시큐리티 폼 로그인

옥탑방개발자 님의 강의를 보고 정리한 내용입니다 폼 로그인 DefaultLoginPageGeneratingFilter GET /login 을 처리 별도의 로그인 페이지 설정을 하지 않으면 제공되는 필터 기본 로그인 폼을 제공 OAuth2 / OpenID / Saml2 로그인과도 같이 사용할 수 있음. UsernamePasswordAuthenticationFilter POST /login 을 처리. processingUrl 을 변경하면 주소를 바꿀 수 있음. form 인증을 처리해주는 필터로 스프링 시큐리티에서 가장 일반적으로 쓰임. 주요 설정 정보 filterProcessingUrl : 로그인을 처리해 줄 URL (POST) username parameter : POST에 username에 대한 값을 넘..

[Spring Security] 스프링 시큐리티 Authentication (인증)의 기본 구조

옥탑방개발자 님의 강의를 보고 정리한 내용입니다. 로그인 하기 스프링 프레임워크에서 로그인을 한다는 것은 authenticated 가 true인 Authentication 객체를 SecurityContext 에 갖고 있는 상태를 말합니다. 단 Authentication이 AnonymousAuthenticationToken 만 아니면 됩니다. 로그인 == Authentication(authenticated = true) only if Authentication != AnonymousAuthenticationToken Authentication (인증)의 기본 구조 필터들 중에 일부 필터는 인증 정보에 관여합니다. 이들 필터가 하는 일은 AuthenticationManager 를 통해 Authenticati..

[Spring Security] 큰 그림으로 보는 스프링 시큐리티

옥탑방개발자 님의 강의를 보고 정리한 내용입니다. 스프링 시큐리티의 큰 그림 서블릿 컨테이너 톰켓과 같은 웹 애플리케이션을 서블릿 컨테이너라고 부르는데, 이런 웹 애플리케이션(J2EE Application)은 기본적으로 필터와 서블릿으로 구성되어 있습니다. 필터는 체인처럼 엮여있기 때문에 필터 체인이라고도 불리는데, 모든 request 는 이 필터 체인을 반드시 거쳐야만 서블릿 서비스에 도착하게 됩니다. 스프링 시큐리티의 큰 그림 그래서 스프링 시큐리티는 DelegatingFilterProxy 라는 필터를 만들어 메인 필터체인에 끼워넣고, 그 아래 다시 SecurityFilterChain 그룹을 등록합니다. 이 필터체인은 반드시 한개 이상이고, url 패턴에 따라 적용되는 필터체인을 다르게 할 수 있습니..

[Spring Security] 스프링 시큐리티란?

옥탑방개발자 님의 강의를 보고 정리한 내용입니다. 시큐리티가 필요한 이유 웹사이트는 각종 서비스를 하기 위한 리소스와 서비스를 사용하는 유저들의 개인 정보를 가지고 있습니다. 이들 리소스를 보호하기 위해서 일반적으로 웹 사이트는 두가지 보안 정책을 설정해야 합니다. 서버 리소스 유저들의 개인정보 인증 (Authentication) 사이트에 접근하는 사람이 누구인지 시스템이 알아야 합니다. 익명사용자(anonymous user)를 허용하는 경우도 있지만, 특정 리소스에 접근하거나 개인화된 사용성을 보장 받기 위해서는 반드시 로그인하는 과정이 필요합니다. 로그인은 보통 username / password 를 입력하고 로그인하는 경우와 sns 사이트를 통해 인증을 대리하는 경우가 있습니다. UsernamePa..

반응형