• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

시큐리티 2가지 질문이 있습니다.

18.11.05 17:21 작성 조회수 140

0

  • @EnbaleWebSecurity 어노테이션에대해서

    • custom security 설정을 해보고 있는데 인터넷 예제들을 보면 설정파일에 @EnbaleWebSecurity 어노테이션을 붙이라고 하는 분들도 계신던데 어떤차이가 있는건가요 설정하지 않은 추가적인 기능들이 자동 적용되는 것인가요?

  • 중복 로그인 방지

    • 중복로그인 방지 설정을 하고 테스트를 진행중인데 로그아웃후 재로그인시에 문제가 있습니다. 찾아본 결과 3. 버전의 문제였다라고 하던데 저는 지금 security 버전이 5인데 문제가 발생하여

    @Bean

    public ServletListenerRegistrationBean<HttpSessionEventPublisher> httpSessionEventPublisher() {

    return new ServletListenerRegistrationBean<HttpSessionEventPublisher>(new HttpSessionEventPublisher());

    }

    위와 같은 빈을 추가해주니 제대로 작동은 하지만 원인을 잘 모르겠어서 질문드립니다.!

답변 3

·

답변을 작성해보세요.

0

lwk30071님의 프로필

lwk30071

질문자

2018.11.10

답변감사합니다!!

0

싱글 로그인

해당 이벤트 퍼브리셔는 세션이 언제 만들어지고 없어지는지에 대한 이벤트를 발생시키는 클래스인데 저게 등록이 되어 있어야 스프링 시큐리티 세션 레지스리에서 해당 이벤트를 받아 원하는 개수의 세션 수만큼 조절이 가능하기 때문입니다.

좋은 질문 감사합니다.

0

  1. @EnbaleWebSecurity

이 설정을 스프링 부트 프로젝트에서 사용하면, 스프링 부트가 제공하는 스프링 시큐리티 자동 설정은 무시하게 됩니다. 반대로 저 애노테이션을 사용하지 않고, 스프링 시큐리티를 추가하면 스프링 부트가 제공하는 스프링 시큐리티 기능에 '추가로' 우리가 커스터마이징하느 스프링 시큐리티 기능이 적용되는 것이구요. 그래서 경우에 따라 붙일 수도 있고, 땔 수도 있습니다만 저는 개인적으로 스프링 부트가 제공하는 스프링 시큐리티 기본 설정이 썪 유용하다고 생각하진 않아서 보통은 @EnableWebSecurity를 사용하는 편입니다.