강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

웅스님의 프로필 이미지
웅스

작성한 질문수

스프링 시큐리티

5) 인증 및 인가 예외 처리 - AjaxLoginUrlAuthenticationEntryPoint, AjaxAccessDeniedHandler

Handler 등록 방식 궁금증

작성

·

179

0

8:34초에서 AjaxSecurityConfig.java 파일에서
 authenticationEntryPoint는
new AjaxLoginAuthenticationEntryPoint() 이렇게 등록하고

 accessDeniedHandler는 @Bean으로 등록 후
return new AjaxAccessDeniedHandler() 하시는데
궁금증이 생겨 질문드립니다.

        

  앞서 강의 내용까지 참고하면 

  SecurityConfig 파일에 커스텀한 handler를 등록 할 때

  1. @Autowired 

  2. @Bean 등록 후 return new CustomHandler()

  3. 바로 new CustomHandler()해서 등록

      

  이렇게 3가지 방식으로 작성하시는데 차이가 있나요?

답변 1

0

정수원님의 프로필 이미지
정수원
지식공유자

네 객체를 스프링 빈으로 생성할 것인지 아니면 일반 객체로 생성할 것인지의 차이라고 할 수 있는데 

빈으로 생성해야 할 이유가 있을 경우에는 1, 2번이 해당되고 그렇지 않으면 3번으로 바로 생성하면 됩니다.

방식의 차이는 있지만 기능은 모두 동일하게 동작합니다.

빈으로 생성한다는 의미는 스프링에서 제공하는 여러 기능들을 사용하기 위함입니다.

특히 DI 를 사용하는 경우이겠죠

굳이 빈으로 사용할 이유가 없을 경우에는 일반 객체로 생성해도 무방합니다.

어차피 스프링 시큐리티가 초기화 할 때  빈이든 일반 객체든 생성은 한번 되는 것이기 때문에  동작은 동일합니다.

사용하고자 하는 용도에 따라 구현하시면 됩니다.

웅스님의 프로필 이미지
웅스

작성한 질문수

질문하기