как исправить выход из системы api call, возвращая 500 - PullRequest
0 голосов
/ 14 мая 2019

Я написал API выхода из системы в REST, но при его вызове, возвращая 500 и URL-адрес изменяется на / login? Logout, и в ответ он показывает страницу index.html

Я пытался вернуть страницу входа или простую строку илипопробовал с пустым методом, но не повезло.обойти, мы делаем в угловых

мой API

  @CrossOrigin(maxAge=4800, allowCredentials="false")
    @RequestMapping(value="/logout", method=RequestMethod.GET)
    public String logout(HttpServletRequest req, HttpServletResponse res){
        logger.info("loging out the user and invalidating the session");
        try{
        Authentication auth = SecurityContextHolder.getContext().getAuthentication();
        if(auth != null)
            new SecurityContextLogoutHandler().logout(req, res, auth);
        logger.info("----user log out sucessfully----");
        }catch(Exception e){
            logger.error("Error while logout the user: "+e.getMessage());
        }
        return "redirect:/login?logout";
        }

Я пытался return "/" ИЛИ return "success"

Угловой код

 logOut() {
    this.logoutUser().subscribe(res=>{
      console.log("logout sucessfully")
    });
    this.router.navigate(['login']); //redirect to login
  }

Код ошибки:

SEVERE: Servlet.service () для сервлета [Reminder365API] в контексте с путем [/ Reminder365] вызвал исключение com.fasterxml.jackson.databind.JsonMappingException: нет содержимого для сопоставления из-зав конец ввода в [Source: org.apache.catalina.connector.CoyoteInputStream@6b20e469;строка: 1, столбец: 0] в com.fasterxml.jackson.databind.JsonMappingException.from (JsonMappingException.java:261) в com.fasterxml.jackson.databind.ObjectMapper._initForReading (ObjectMapper.java:3829) в com.fasterxml.jackson.databind.ObjectMapper..web.authentication.logout.LogoutFilter.doFilter (LogoutFilter.java:116)

показывает ошибку в JWTLoginFilter.attemptAuthentication (JWTLoginFilter.java:44)

1024* кодовая форма JWTLoginFilter.java
    public Authentication attemptAuthentication(HttpServletRequest req, HttpServletResponse res)
            throws AuthenticationException, IOException, ServletException {
        logger.info("attemptAuthentication(req=" + req + ", res=" + res + ") - start - entering attemptAuthentication");
        AccountCredentials creds = new ObjectMapper().readValue(req.getInputStream(), AccountCredentials.class); //line 44

        return getAuthenticationManager().authenticate(new UsernamePasswordAuthenticationToken(creds.getUsername(),
                creds.getPassword(), Collections.emptyList()));
    }

Я ожидаю, что API лOgout и перенаправить на вход в систему без каких-либо ошибок и в угловом мы просто называем это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...