inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

진영님의 게시글

진영 진영

@jyp123

수강평 작성수
-
평균평점
-

게시글 1

질문&답변

Authentication should not be null 오류 질문

Security6 를 사용하는 경우 아래와 같이 하시면 동작합니다 // Service class private final SecurityContextHolderStrategy securityContextHolderStrategy; private final SecurityContextRepository securityContextRepository; public void login(Account account, HttpServletRequest request, HttpServletResponse response) { account.login(clockHolder); UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken( account.getNickname(), account.getPassword(), Collections.singleton(new SimpleGrantedAuthority("ROLE_USER"))); SecurityContext context = securityContextHolderStrategy.createEmptyContext(); context.setAuthentication(token); securityContextHolderStrategy.setContext(context); securityContextRepository.saveContext(context, request, response); } // Security Config class @Bean public SecurityContextHolderStrategy securityContextHolderStrategy() { return SecurityContextHolder.getContextHolderStrategy(); } @Bean public SecurityContextRepository securityContextRepository() { return new HttpSessionSecurityContextRepository(); } 시큐리티6 부터 모든 요청에 대해 세션을 사용하지 않아, 사용자 정보를 저장할 수 없는 것 같습니다. 아래 문서에서 수동으로 사용자 정보를 저장하는 방법이 있어 참고했습니다. 참고 : https://docs.spring.io/spring-security/reference/servlet/authentication/session-management.html

좋아요수
2
댓글수
4
조회수
1413