inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티

9) 인증 성공 핸들러 : CustomAuthenticationSuccessHandler

CustomAuthenticationSuccessHandler에서 궁금점

339

Luke

작성한 질문수 4

0

1.onAuthenticationSuceess를 오버라이딩 하면서

setDefaultTargetUrl("/")로 설정했는데요

이렇게 되면SecurityConfig파일에서

defaultSuccessUrl("/")를 생략해도 되나요?

2.아래 다른분이 SuccessHandler가 동작하지 않으면

defaultSuccessURl위치를 successHandler위쪽으로 올리라고 하셔서 그대로 수정하니 동작했습니다.

이때 defaultSuccesURl의 설정 위치가 successHandler의
커스터마이징한 SuccessHandler의 동작에 영향을 주는지 
궁금합니다. 

spring-boot java Spring Security

답변 1

3

정수원

1.onAuthenticationSuceess를 오버라이딩 하면서

setDefaultTargetUrl("/")로 설정했는데요

이렇게 되면SecurityConfig파일에서

defaultSuccessUrl("/")를 생략해도 되나요?

네 생략해도 됩니다. 

SuccessHandler 와 defaultSuccessUrl 모두 다 설정을 할 경우에 그 중에서 하나만 적용됩니다.

이와 관련해서 아래 질문에 연결해서 답변을 하도록 하겠습니다 .

2.아래 다른분이 SuccessHandler가 동작하지 않으면

defaultSuccessURl위치를 successHandler위쪽으로 올리라고 하셔서 그대로 수정하니 동작했습니다.

이때 defaultSuccesURl의 설정 위치가 successHandler의 커스터마이징한 SuccessHandler의 동작에 영향을 주는지 궁금합니다. 

말씀하신 것처럼 API 설정 위치에 따라 적용되는 결과가 달라집니다.

successHandler() 와 defaultSuccessURl() 를 설정하게 되면 스프링 시큐리티가 초기화 되면서 FormLoginConfigurer 의 부모클래스인  AbstractAuthenticationFilterConfigurer 의 successHandler 속성에 저장이 되고 다시 UsernamePasswordAuthenticationFilter 의 successHandler 속성에  반영이 됩니다.

로그인에 성공을 하게 되면 UsernamePasswordAuthenticationFilter 에 저장된 successHandler 가 호출이 되는 구조입니다.

그렇기 때문에 API 설정이 아래에 위치할 수록 위에 위치한 설정을 덮어쓰게 되어서 그런 결과가 나타나게 됩니다.

시큐리티 공부 버전 질문

0

188

1

[해결 방법] MethodSecurityConfig.customMethodSecurityMetadataSource() 호출하지 않는 이슈

0

196

1

AbstractSecurityInterceptor.class.beforeInvocation()를 2번 실행하는 경우

0

185

1

강의 코드가 왜이렇게 뒤죽박죽인가요...

0

270

1

메인 페이지로 접속해도 login url로 리다이렉트가 되지 않습니다..

0

247

1

파라미터값이 넘어가지 않습니다 ....

0

381

1

security filterChain 설정 질문이 있습니다.

0

336

1

소스 부분 질문 드립니다.

0

211

2

섹션4 7번 강의 문제가 있는거 같네요.

0

351

2

파일이 수시로 이름이 바껴있네요 ㄷㄷ

0

308

1

HttpSessionSecurityContextRepository를 사용안하는 문제

0

563

2

error , exception 이 잘 안됩니다.

0

288

2

thymeleaf tag 질문합니다.

0

200

2

버전업하면서 deprecated된 것들이 너무많아요

0

482

1

spring security 패치 관련

0

442

1

모바일을 사용할때 토큰말고 세션

0

863

2

DB 연동한 인가 부분에 대한 질문입니다!

0

267

1

Ajax방식도 똑같이 Session방식을 사용하는건가요?

0

310

1

Config 파일 생성 시 질문이 있습니다.

0

233

1

강사님 몇일동안 구글 검색만 100개 했는데도 이유를 모르겠습니다..

1

440

2

403 에러 뜹니다.

0

816

2

login_proc의 존재에 대한 간략한 설명입니다

0

279

1

top.html에 로그인 링크를 만들어서 로그인을 해봤습니다

0

289

2

안녕하세요. DB에 저장될 때 이해 안 가는 값이 있어서 질문드립니다!

0

193

1