inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

질문 있어서 남기게 됩니다.

322

황상익

작성한 질문수 13

0

사이드 프로젝트를 하다가 SpringSecurity를 좀더 잘 구햔해보고 싶어 강의를 들으면서 sideproject에 springSecurity를 도입하고 있습니다.
수업 내용과는 상이한 질문이라 드려도 될지 조심스럽습니다만, 혼자 공부하고 있어 여주어 볼 곳이 선생님 밖에 없어 질문을 남기게 됩니다.

권한을 설정해 주고, 회원에게 권한을 직접 지정해 주는 방식으로 진행했는데, api test해본 결과 계속
Set SecurityContextHolder to anonymous SecurityContext라는 오류가 발생합니다.

시간이 괜찮으시다면, 진행중인 sideProject에서 security 부분이 어디가 잘못되었는지 팁을 주시면 감사하겠습니다.

https://github.com/Fangsangik/fintech_rebuilding

spring spring-boot spring-security security web-security

답변 1

0

인프런 AI 인턴

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

황상익님, Spring Security를 도입하고 계시는데 Set SecurityContextHolder to anonymous SecurityContext 오류가 발생하고 있다고 하셨습니다. 이는 보통 인증된 유저의 컨텍스트가 제대로 유지되지 않는 경우에 발생합니다.

다양한 이유로 이 오류가 발생할 수 있지만 몇 가지 일반적인 원인을 말씀드리겠습니다:

  1. Security Configuration:

    • SecurityConfig가 제대로 설정되었는지 확인하세요. 예를 들어, URL 패턴에 맞는 적절한 인증/권한 설정이 있는지 체크해보세요.
    • httpSecurity 설정 내에서 authorizeRequests와 같은 메서드들이 올바르게 사용되고 있는지 확인하시기 바랍니다.
  2. Authentication:

    • 실제 인증 로직에서 유저가 정상적으로 인증되었는지 확인하세요. 예를 들어, UserDetailsService를 통해 유저가 로드되고 있는지, 그리고 유저 객체가 올바르게 반환되는지 체크하세요.
  3. Session Management:

    • 인증 후 세션이 관리되는지 확인하세요. 예를 들어 세션이 계속 유지되는지, 필요하지 않은 경우 세션이 만료되지 않는지 등을 체크하세요.
  4. Testing:

    • 테스트 시 Security 컨텍스트를 Mocking해서 사용하는지 확인하시기 바랍니다. 예시를 들어 SpringBoot의 다큐멘테이션에서는 아래와 같이 WithMockUser 어노테이션을 사용합니다:

      @WebMvcTest(UserController.class)
      class MySecurityTests {
       @Autowired
       private MockMvc mvc;
      
      
       @Test
       @WithMockUser(roles = "ADMIN")
       void requestProtectedUrlWithUser() throws Exception {
           this.mvc.perform(get("/"));
       }
      }
      
    • 더 많은 정보는 여기서 확인하실 수 있습니다.

위 정보들이 도움이 되었으면 좋겠습니다. 만약 추가적으로 코드 검토나 구체적인 도움이 필요하시다면 언제든지 질문 남겨주세요. 감사합니다.

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

0

35

2

단원별 소스코드

0

64

2

CustomAuthenticationProvider 추가 관련 문의

0

78

2

AOP 의존성 명칭 변경

0

76

1

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

0

70

1

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

0

87

2

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

0

78

1

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

0

69

1

@EnableWebSecurity

0

148

1

트랜잭션과 롤백

0

99

1

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

0

91

2

AuthenticationManager 사용 방법

0

153

2

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

0

108

2

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

0

192

1

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

0

109

2

메타 주석 질문

0

69

1

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

0

150

3

로그인 후, redirect 에서 error

0

140

3

Session 생성 타이밍에 대한 질문

0

86

2

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

0

135

2

customAuthentication 관련

0

132

2

authenticationManagerBuilder 주입받은거 vs 만든 거

0

114

1

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

0

101

1

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

0

162

2