, , , - . , ThreadLocal , . , , .
, - - , .
, ? ThreadLocal , . , , .
, :
JWTFilter.java
@WebFilter(urlPatterns={"/*"}
public class JWTFilter implements Filter {
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
String jwt = req.getHeader("Authorization");
User user = getUserFromJWT(jwt);
if(user != null) {
req.getSession().setAttribute("user", user);
chain.doFilter(request, response);
}
else {
HttpServletResponse resp = (HttpServletResponse)response;
resp.sendError(HttpServletResponse.SC_FORBIDDEN);
}
}
}
YourService.java
@GET
public Response getBook(@QueryParam("id") String bookId,
@Context HttpServletRequest request) {
User user = (User)request.getSession().getAttribute("user");
}
"" - HttpServletRequest, , . - , JWT .
JAX-RS / Servlet .