개발/Spring Security

리다이렉션 횟수가 너무 많습니다.

멋진놈 2022. 7. 20. 10:29
728x90

개발자 도구로 보면 네트워크 쪽 디버그 보면은 막 login이 실시간으로 계속 올라온다. 

원인이

로그인 페이지는 permitALL로 권한이 열려있다. 하지만 다른 페이지는 permitALL이 아니거나, 로그인 했을 시에 permitALL이 아닌 권한을 받게 된다. 그래서 권한이 열려 있어야 정상적인데, 이게 권한이 열려 있지 않거나 서로 꼬여 있을때, 막 충돌이 난다고함. 

 

그럴때 SecurityConfig 파일에서 

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .csrf().disable()
            .authorizeRequests()
            .antMatchers("/", "/auth/**", "/js/**", "/css/**", "/image/**", "/auth/user/**","/auth/user/save").permitAll()
            .anyRequest().authenticated()
            .and()
            .formLogin()
            .loginPage("/auth/user/login")
            .loginProcessingUrl("/auth/api/v1/user/login")
            .defaultSuccessUrl("/")
            .and()
            .oauth2Login()
            .loginPage("/auth/user/login")
            .userInfoEndpoint()
            .userService(principalOauth2UserService);
    http
            .rememberMe().tokenValiditySeconds(60 * 60 * 7)
            .userDetailsService(principalDetailService);
}

 

 

.antMatchers 부분에 해당 권한이 있어야하는 곳을 넣어주면 해결됨.