profile
I Think So!
태그 목록
전체보기 (76)스프링부트(7)타임리프(6)spring security(5)docker(3)예외처리(2)검증(2)pointcut(2)API Gateway(2)AutoConfiguration(2)자바(2)로그인(2)세션(2)validation(2)aop(2)쿠키(2)디자인 패턴(2)run(1)ervice Discovery(1)exception(1)어드바이스(1)authentication(1)session(1)AnnotationAwareAspectJAutoProxyCreator(1)static(1)spring cloud config(1)layered architecture(1)ThreadLocal(1)actuator(1)AuthenticationProvider(1)스프링부터(1)zone(1)JDK 동적 프록시(1)어드바이저(1)기본 메소드(1)Composed-annotation(1)conditional(1)rejcet(1)Form Login(1)environment(1)API(1)cglib(1)모놀리식(1)파일다운로드(1)proxy pattern(1)해킹과금(1)eureka(1)동시 세션 제어(1)28276(1)execution(1)Datasource(1)connectionPool(1)이미지(1)FieldError(1)ConversionService(1)ssl(1)오류페이지(1)파일업로드(1)포인트컷(1)ErrorCode(1)SecurityContext(1)service discovery(1)@ExceptionHandler(1)스트림(1)Bipartite matching(1)마이크로서비스(1)remember me(1)변수캡처(1)HandlerExceptionResolver(1)세션 고정 보호(1)H2(1)compose(1)netflix eureka(1)이분 매칭(1)데코레이터 패턴(1)advisor(1)ArgumentResolver(1)메서드 레퍼런스(1)BeanPostProcessor(1)분산형(1)ClassUtils(1)stream(1)Segment Tree with Lazy Propagation(1)Spring Sercurity(1)람다식(1)TLS(1)옵션널(1)JWT(1)Converter(1)meta-annotation(1)Formatter(1)@ConditionalOnMissingBean(1)세션 정책 설정(1)상태 패턴(1)함수적인터페이스(1)default methods(1)트랜잭션(1)Yawned-Zoned(1)아키텍처(1)ProxyFactory(1)build(1)AuthenticationManager(1)commit(1)@Functionallnterface(1)controlleradvice(1)FilterChainProxy(1)ObjectError(1)formatting(1)advice(1)빈 후처리기(1)메서드 참조(1)@property(1)MultipartFile(1)docker hub(1)AccessDenied(1)프록시 패턴(1)필터(1)basic(1)Jasypt(1)bean validation(1)BindingResult(1)Strategy Pattern(1)pull(1)aws(1)Spring Cloud Gateway(1)Java(1)인터셉터(1)rejectValue(1)전략 패턴(1)cookie(1)리플랙션(1)DelegatingProxyChain(1)spring cloud(1)Token(1)zuul(1)logout(1)템플릿 메소드 패턴(1)datetime(1)JDBC(1)optional(1)Docker file(1)Authentication Flow(1)decorator pattern(1)디폴트 메소드(1)aspect(1)private(1)JPA(1)스프링(1)타입컨버터(1)
post-thumbnail

스프링 시큐리티 - 예외 처리 및 요청 캐시 필터

본 게시물은 스스로의 공부를 위한 글입니다. 잘못된 내용이 있으면 댓글로 알려주세요! 사용자가 인증이 필요한 자원이나, 특정한 권한(인가)가 필요한 자원에 접근하려 할 때, 인증 또는 인가에 실패하면 ExceptionTranslationFilter가 이를 처리해준다. 크게 하는 일은 2가지 이다. 1. AuthenticationException(인증 예외 처리) 인증에 실패했을 시 인증 예외 처리를 호출한다. 여기서도 2가지 일을 진행한다. AuthenticationEntryPoint 호출: 로그인 페이지 이동, 401 오류 코드 전달 등 인증 예외가 발생하기 전의 요청 정보를 저장 : 세션에 정보를 넣어놨다가, 로그인 성공 시 원래 접속하려던 url로 리다이렉트 등에 쓰인다. SavedRequest : 사용자가 요청했던 request 파라미터 값들, 그 당시의 헤더값들 등이 저장 RequestCache : 사용자의 이전 요청 정보

2022년 2월 16일
·
0개의 댓글
·
post-thumbnail

스프링 시큐리티 - 세션 제어 기능

본 게시물은 스스로의 공부를 위한 글입니다. 잘못된 내용이 있으면 댓글로 알려주세요! 아래에서 알아볼 내용은 3가지이다. 동시 세션 제어 세션 고정 보호 스프링 시큐리티 세션 정책 설정 1. 동시 세션 제어 동일한 계정으로 로그인 되면 어떤 일이 벌어질까? 스프링 시큐리티에서 로그인 정보에 대한 인증이 끝나면 세션에 인증 객체를 만들어 저장한다. 이때 동일한 계정으로 로그인 했다면 똑같은 회원에 대해 서로 다른 세션이 여러개 만들어질 것이다. 스프링 시큐리티 설정을 통해 이를 제어할 수 있다. 최대 세션 허용 개수를 설정할 수 있고, 허용 개수를 넘어갔을 경우의 정책도 설정할 수 있다. 만약 최대 세션 허용 개수를 초과했다 가정하자. 두 가지 방법이 있다. 이전 사용자의 세션을 만료시킨다. ![](https://images.velog.io/images/gmtmoney2357/post/d6639f2f-e498-4b00-8c57-7b39

2022년 2월 12일
·
0개의 댓글
·
post-thumbnail

스프링 시큐리티 - Remember Me 기능

본 게시물은 스스로의 공부를 위한 글입니다. 잘못된 내용이 있으면 댓글로 알려주세요! Remember Me 인증 JSESSIONID이 만료되거나 쿠키가 없을 지라도 어플리케이션이 사용자를 기억하는 기능이다. 자동 로그인 기능을 떠올리면 쉽다. Remember-Me 토큰 쿠키를 이용한다. 서버는 이 토큰의 유효성을 검사하고, 검증되면 사용자는 로그인된다. 설정 코드를 보자. .rememberMeParameter() 사용자가 로그인 페이지를 만들때 여기를 주의해야 한다. 보통 checkbox로 만들텐데, 이때 name을 여기서 설정한 값과 동일하게 해줘야 한다. tokenValiditySeconds 초 단위로 remember-me 토큰의 유효시간을 설정할 수 있다. .alwaysRemember 사용자가 이 기능을 사용한다고 체크하지 않아도 자동으로 사용하게 하는 기능이다. userDetailsService 이 기능

2022년 2월 11일
·
0개의 댓글
·
post-thumbnail

스프링 시큐리티 - Logout 기능

본 게시물은 스스로의 공부를 위한 글입니다. 잘못된 내용이 있으면 댓글로 알려주세요! 스프링 시큐리티가 제공하는 Logout 기능은 세션 무효화, 인증토큰 삭제, 쿠키 정보 삭제, 로그인 페이지로 리다이렉트 등이 있다. 아래 설정 코드를 보자. logoutUrl로 로그아웃 처리 Url을 커스텀해줄 수 있다. 기본 주소는 /logout이며 원칙적으로는 post방식으로 요청해야 로그아웃된다. .logoutSuccessUrl 로그아웃 정상 처리 후 리다이렉트 주소를 설정할 수 있다. deleteCookies 로그아웃 정상 처리 후 쿠키 삭제를 설정해줄 수 있다. 이때 JSESSIONID가 로그인 토큰이며 remember-me는 다음 게시물에서 배울 토큰이다. addLogoutHandler, .logoutSuccesshandler로 여러 핸들러를 등록할 수 있다. 기본으로 제공된 로그인 페이지의 소스는 다음과 같다. ![](

2022년 2월 11일
·
0개의 댓글
·
post-thumbnail

스프링 시큐리티 - Form Login 인증

본 게시물은 스스로의 공부를 위한 글입니다. 잘못된 내용이 있으면 댓글로 알려주세요! Form login이 무엇인지 알고 있다는 전제를 바탕으로 스프링 시큐리티 설정 부분을 설명한 게시물입니다. 먼저 설정 코드를 보자. .loginPage 로그인 페이지 주소를 설정할 수 있다. 사용자가 로그인 페이지를 직접 만들거나 로그인 주소를 변경할 때 사용된다. 기본 주소는 /login이다. .defaultSuccessUrl: 로그인 성공 후 자동으로 이동할 페이지이다. 로그인 성공 후 redirect될 페이지를 정하는 것은 이 메소드 뿐이 아니다. .successHandler에서 send.redirect해줄 수도 있고, requestCache에서 직전에 접속하려 했던 url을 get해서 그 페이지로 이동하기도 한다. 그 중 .defaultSuccessUrl은 최후순위를 가지게 된다. 만약 이걸로 설정한 url로 무조건 리다이렉트가게 하

2022년 2월 11일
·
0개의 댓글
·