• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przekierowywanie w incereptorze podczas wywoływania adresu z REST AP

0 głosów
168 wizyt
pytanie zadane 4 sierpnia 2017 w Java przez Jonki Dyskutant (8,180 p.)

Chciałem zabezpieczyć kilka adresów w REST API, aby były dostępne tylko dla zalogowanych użytkowników. Utworzyłem do tego specjalny incereptor

public class CheckLoginStatus extends HandlerInterceptorAdapter {

    @Override
    public void postHandle(javax.servlet.http.HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        if(SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString().equals("anonymousUser")) {
            response.sendRedirect(signIn);
        }
    }
}

i zarejestrowałem go w konfiguracji

@Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new CheckLoginStatus()).addPathPatterns("/messages/*");
    }

Incereptor wywoływany jest dla np. metody

@PostMapping(value = "/sendMessage")
    @ApiMethod(description = "Save message")
    public HttpEntity<Boolean> sendMessage(
            @RequestBody @Valid SendMessageDTO sendMessageDTO
    ) {
        messageService.saveMessage(converterSendMessageDTOToMessage.convert(sendMessageDTO));

        return ResponseEntity.ok(true);
    }

Jednak podczas wywoływania adresu w konsoli wyrzuca wyjątek

java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed

Nie jestem pewien czy działają przekierowania w incereptorze użyte dla adresu z REST API.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 190 wizyt
pytanie zadane 15 września 2017 w Java przez Jonki Dyskutant (8,180 p.)
0 głosów
1 odpowiedź 251 wizyt
pytanie zadane 26 czerwca 2019 w Java przez SztyJkmajster Z Pols Nowicjusz (240 p.)
0 głosów
2 odpowiedzi 326 wizyt
pytanie zadane 24 czerwca 2019 w Java przez SztyJkmajster Z Pols Nowicjusz (240 p.)

93,425 zapytań

142,421 odpowiedzi

322,646 komentarzy

62,785 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...