package io.lumify.web; import io.lumify.miniweb.Handler; import io.lumify.miniweb.HandlerChain; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class AuthenticationHandler implements Handler { public static final String LOGIN_PATH = "/login"; private static final String HEADER_X_FORWARDED_FOR = "x-forwarded-for"; @Override public void handle(HttpServletRequest request, HttpServletResponse response, HandlerChain chain) throws Exception { if (CurrentUser.get(request) != null) { chain.next(request, response); } else { response.sendError(HttpServletResponse.SC_FORBIDDEN); } } public static String getRemoteAddr(HttpServletRequest request) { String xForwardedFor = request.getHeader(HEADER_X_FORWARDED_FOR); if (xForwardedFor != null && xForwardedFor.trim().length() > 0) { return xForwardedFor; } return request.getRemoteAddr(); } }