• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

WebSecurity 설정 관련해서 문의드립니다

21.02.03 10:44 작성 조회수 149

0

안녕하세요

아래와 같이 설정을 하고 테스트를 하고 있습니다.

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .mvcMatchers("/", "/info").permitAll()
                .mvcMatchers("/user").hasRole("USER")
                .mvcMatchers("/admin").hasRole("ADMIN")
                .anyRequest().authenticated()
                .and().formLogin()
                .and().httpBasic();
    }

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring()
                .mvcMatchers( "/account/**") // fixme. 이건 왜 안되지?
                .requestMatchers(
                        PathRequest.toStaticResources().atCommonLocations()
                );  
    }

이 상태에서 /account/** 가 ignore 되어 있으므로 인가 Filter 적용이 안되어야 할텐데요

http://localhost:8082/account/ADMIN/A/B 

이걸 2번 연속으로 수행하게 되면 로그인 페이지로 이동하게 됩니다.

서버 콘솔은 500 에러가 나오는데... 프론트 페이지는 로그인으로 이동하는것으로 나오는데요. 혹시 이유가 무엇일까요?

답변 1

답변을 작성해보세요.

0

해당 페이지에서 정말 딱 저 URL로만 요청을 보내는지 확인해 보시면 좋겠습니다. 브라우저가 favicon.ico 요청을 보낸다고 가정하면 아마 그 요청을 걸러지지 않을테고 http 설정을 타게 되겠죠. 그럼 anyRequest().authenticated()에 걸려서 로그인 페이지를 보게 될겁니다. 실제로 그런지는 이 강의에서 보여드렸다시피 디버거를 사용해서 어떻게 흘러가는지 직접 찾아 보실 수 있으면 좋겠습니다.