inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 완전 정복 [6.x 개정판]

Rest 예외 처리 - RestAuthenticationEntryPoint / RestAccessDeniedHandler

Rest 예외 처리 - RestAuthenticationEntryPoint / RestAccessDeniedHandler 스프링빈 등록 질문

해결된 질문

358

배성환

작성한 질문수 12

0

안녕하세요 선생님

Rest 예외처리 편에서 선생님께서는 RestAuthenticationEntryPoint 와 RestAccessDeniedHandler을 따로 스프링 빈으로 등록하지 않고 객체를 생성하는식으로 하셨는데 제가 따로 스프링빈으로 등록하고 해도 잘 동작하던대 따로 빈으로 등록하지 않고 하신 이유가있을까요?
해당 코드는 제가 빈으로 따로 등록하고 테스트 했던 코드입니다.

spring spring-boot spring-security security web-security

답변 2

0

정수원

자주 듣는 질문인데 사실 빈으로 정의하든 일반객체로 정의하든 둘다 문제 없습니다

선택의 문제입니다

빈으로 정의한다면 스프링 컨테이너가 관리하도록 하는 것 차이가 있습니다 즉 스프링의 여러 특화된 기능들을 사용할 수 있게 됩니다

그렇지 않다면 가벼운 일반객체로 생성해서 사용하시면 됩니다

0

배성환

아하 감사합니다. 선생님

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

질문하신 RestAuthenticationEntryPointRestAccessDeniedHandler를 스프링 빈으로 등록하지 않고 직접 객체를 생성하여 사용하는 방식에 대해서는 여러 가지 이유가 있을 수 있습니다. 주된 이유 중 하나는 특정 구성이나 상황에서만 사용되는 커스텀 로직을 분리하여 관리하기 위함일 수 있습니다. 즉, 이들을 직접 생성하고 구성하는 것은 그 사용 범위나 목적이 특정한 상황에 한정되기 때문일 수 있습니다.

스프링 빈으로 등록하여 사용할 경우, 스프링 컨테이너가 관리하게 되므로, 애플리케이션의 다른 부분에서도 해당 빈을 주입받아 사용할 수 있는 이점이 있습니다. 하지만, 애플리케이션 전반에 걸쳐 해당 로직이 필요 없거나, 특정 설정이나 컨디션에서만 사용되어야 한다면 직접 객체를 생성하여 사용하는 것이 더 명시적이고 관리하기 쉬울 수 있습니다.

물론, 이러한 선택은 개발자의 선호도, 애플리케이션의 구조와 요구 사항, 유지 보수성 등 여러 요인을 고려하여 결정됩니다. 따라서 RestAuthenticationEntryPointRestAccessDeniedHandler를 스프링 빈으로 등록하여도 잘 동작하는 경우는 해당 컴포넌트들이 애플리케이션 전역에서 일관된 방식으로 사용되어야 할 때 유용합니다.

제공해주신 코드 스니펫에서는 이러한 구성 요소들을 스프링 빈으로 명시적으로 등록하는 방식을 선택하셨고, 잘 동작하는 것으로 보아 애플리케이션의 요구 사항에 부합하는 구현 방법을 선택하신 것으로 판단됩니다. 상황에 따라 가장 적절한 방법을 선택하는 것이 중요합니다.

로그아웃-logout()-2 강에서 겟방식 로그아웃 호출 후 화면이동 질문입니다.

0

28

2

단원별 소스코드

0

59

2

CustomAuthenticationProvider 추가 관련 문의

0

69

2

AOP 의존성 명칭 변경

0

65

1

빈 1개 등록 시 다른 해결 방법

0

65

1

@Bean으로 AuthenticationProvider를 등록 시 http.authenticationProvider 함수를 이용해서 추가해줘야되나요?

0

85

2

OIDC의 id token에 담긴 데이터에 대해

0

74

1

loginPage("/loginPage") 질문드립니다.

0

69

1

@EnableWebSecurity

0

147

1

트랜잭션과 롤백

0

99

1

68. 인증 이벤트 - AuthenticationEventPublisher 활용 강좌 음성 문제

0

88

2

AuthenticationManager 사용 방법

0

148

2

HttpSecurity.authorizeHttpRequests() - 2 강의 부분에 대한 질문

0

104

2

spring security 6.3에서는 HttpSecurity가 만들어지기 전 WebSecurity가 먼저 만들어지는게 맞나요??

0

190

1

init(B Builder), configure(B builder) 에 대하여 질문 드립니다.

0

106

2

메타 주석 질문

0

68

1

동시세션제어 기능에서 로그아웃하기

0

147

3

로그인 후, redirect 에서 error

0

138

3

Session 생성 타이밍에 대한 질문

0

84

2

강의 참고 내용을 개발 로그로 작성해도 될지 문의드립니다.

0

133

2

customAuthentication 관련

0

127

2

authenticationManagerBuilder 주입받은거 vs 만든 거

0

110

1

UserDetailsService()에서 UserDetail이 아닌 타입을 반환할 수 있나요?

0

101

1

9:28 패턴 3의 경우 마지막으로 설정한 것만 적용되는 것 같습니다.

0

159

2