У меня есть несколько веб-сервисов Spring RESTful (RestControllers) без web.xml, и я использую загрузку Spring для запуска служб.
Я хочу добавить уровень авторизации для веб-сервисов и хочу перенаправить все HTTP-запросы на один фронт-контроллер, прежде чем фактически вызвать веб-сервис. (У меня есть код для имитации поведения сеансов на уровне аутрификации, чтобы проверить пользователя на основе сгенерированного ключа, который я отправляю с каждым из httpRequest от клиента).
Есть ли какое-либо стандартное решение Spring при маршрутизации всех запросов на фильтр/фронт-контроллер?
Спасибо заранее, Praneeth
Изменить: Добавление моего кода
контроллер: `
@RestController
public class UserService {
UserDAO userDAO = new UserDAO();
@RequestMapping(value="/login", method = RequestMethod.POST)
@LoginRequired
public String login(@RequestParam(value="user_name") String userName, @RequestParam(value="password") String password, HttpServletRequest request){
return userDAO.login(userName, password);
}
}`
перехватчик:
`
public class AuthenticationInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println("In Interceptor");
//return super.preHandle(request, response, handler);
return true;
}
@Override
public void postHandle( HttpServletRequest request, HttpServletResponse response,
Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("---method executed---");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
Object handler, Exception ex) throws Exception {
System.out.println("---Request Completed---");
}
}
`
интерфейс. `
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface LoginRequired {
}
`