Spring 3.x - как мне выполнить перенаправление из сопоставления, которое возвращает данные?

В моем контроллере есть такой метод:

@RequestMapping(value="getData", method=RequestMethod.GET)
@ResponseBody
public List<MyDataObj> getData()
{
  return myService.getData();
}

Данные возвращаются как JSON или xsl, в зависимости от запроса.

Если человек, делающий запрос, не авторизован для доступа к данным, мне нужно перенаправить пользователя на «неавторизованную» страницу, поэтому что-то вроде этого:

@RequestMapping(value="getData", method=RequestMethod.GET)
@ResponseBody
public List<MyDataObj> getData()
{
  if (!isAuthorized())
  {
    // redirect to notAuthorized.jsp
  }
  return myService.getData();
}

Все примеры, которые я видел с использованием Spring, требуют метода для возврата либо String , либо ModelAndView . Я думал об использовании HttpServletResponse.sendRedirect () , но все мои JSP находятся в WEB-INF и не могут быть доступны напрямую.

Как я могу отказать в доступе к URL-адресу запроса данных?

8
задан Paul 22 January 2012 в 18:28
поделиться