-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
Authentication를 받아오는 차이가 뭔가요?
23.03.02 18:29 작성 조회수 440
0
파라미터로 Authentication 객체를 받아오면 Null이고 직접 SecurityContextHolder에서 꺼내오면 anonymousUser가 들어있는 이유가 뭔가요?
Authentication 파라미터도 관련 ArgumentResolver에서 SpringSecurityContextHolder.getContext().getAuthentication()으로 꺼내오는 것이 아닌가요?
답변을 작성해보세요.
0
jeidiiy
질문자2023.03.02
OAuth 2.0 Client - oauth2Client() 파트의 OAuth2AuthorizedClient 이해 및 활용의 43:17 입니다.
정수원
지식공유자2023.03.03
아 네
파라미터로 선언된 Authentication 은 인증되지 않은 사용자 즉 익명사용자를 참조하지 않습니다. 즉 메소드에서 파라미터로 선언된 Authentication 은 인증사용자 정보를 바인딩 해주는 역할입니다. 그래서 만약 인증받지 않으면 익명사용자가 아닌 null 로 바인딩 됩니다.
그렇지만 SpringSecurityContextHolder.getContext().getAuthentication() 은 인증이든 익명이든 현재 사용자의 인증상태를 참조할 수 있습니다.
답변 1