-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
시큐리티 2가지 질문이 있습니다.
18.11.05 17:21 작성 조회수 140
0
- custom security 설정을 해보고 있는데 인터넷 예제들을 보면 설정파일에 @EnbaleWebSecurity 어노테이션을 붙이라고 하는 분들도 계신던데 어떤차이가 있는건가요 설정하지 않은 추가적인 기능들이 자동 적용되는 것인가요?
- 중복로그인 방지 설정을 하고 테스트를 진행중인데 로그아웃후 재로그인시에 문제가 있습니다. 찾아본 결과 3. 버전의 문제였다라고 하던데 저는 지금 security 버전이 5인데 문제가 발생하여
@EnbaleWebSecurity 어노테이션에대해서
중복 로그인 방지
@Beanpublic ServletListenerRegistrationBean<HttpSessionEventPublisher> httpSessionEventPublisher() {
return new ServletListenerRegistrationBean<HttpSessionEventPublisher>(new HttpSessionEventPublisher());
}
위와 같은 빈을 추가해주니 제대로 작동은 하지만 원인을 잘 모르겠어서 질문드립니다.!
답변을 작성해보세요.
0
0
백기선
지식공유자2018.11.06
싱글 로그인
해당 이벤트 퍼브리셔는 세션이 언제 만들어지고 없어지는지에 대한 이벤트를 발생시키는 클래스인데 저게 등록이 되어 있어야 스프링 시큐리티 세션 레지스리에서 해당 이벤트를 받아 원하는 개수의 세션 수만큼 조절이 가능하기 때문입니다.
좋은 질문 감사합니다.
0
백기선
지식공유자2018.11.06
- @EnbaleWebSecurity
이 설정을 스프링 부트 프로젝트에서 사용하면, 스프링 부트가 제공하는 스프링 시큐리티 자동 설정은 무시하게 됩니다. 반대로 저 애노테이션을 사용하지 않고, 스프링 시큐리티를 추가하면 스프링 부트가 제공하는 스프링 시큐리티 기능에 '추가로' 우리가 커스터마이징하느 스프링 시큐리티 기능이 적용되는 것이구요. 그래서 경우에 따라 붙일 수도 있고, 땔 수도 있습니다만 저는 개인적으로 스프링 부트가 제공하는 스프링 시큐리티 기본 설정이 썪 유용하다고 생각하진 않아서 보통은 @EnableWebSecurity를 사용하는 편입니다.
답변 3