有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Spring REST拦截器

我需要帮助。我编写了一个拦截器,它接收请求并进行检查,然后返回true或false,但如果数据为true,服务器将返回错误的请求错误
这是我的拦截器:

@Component(value = "authInterceptor")
public class AuthInterceptor implements HandlerInterceptor {

@Autowired
UserManager userManager;

Logger log = LoggerFactory.getLogger(AuthInterceptor.class);

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    System.out.println("Interceptor");
    if (!request.getMethod().equals("OPTIONS")) {
        InputStream body = request.getInputStream();
        if (body != null) {
            log.info("Body is not null.");
            JsonObject model = new JsonParser().parse(new InputStreamReader(body)).getAsJsonObject();
            System.out.println(model.get("login").getAsString());
            if (!userManager.isRegisteredLogin(model.get("login").getAsString())) {
                log.error("Login is not authorized");
                return false;
            }
        } else {
            log.error("Login is not authorized body is empty");
            return false;
        }
    }
    return true;
}

@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

}

@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

}
}      

还有我的控制器:

    public ResponseEntity currentDate() {
           return new ResponseEntity<>(userController.getServerTime(), HttpStatus.OK);
}        

但是控制器请求没有到达


共 (0) 个答案