/** * @param logMessage This is optional * @return */ public WebApplicationException create403RESTException(String logMessage) { Response errorResponse = Response.status(javax.servlet.http.HttpServletResponse.SC_FORBIDDEN).build(); WebApplicationException restException = new WebApplicationException(errorResponse); restException.fillInStackTrace(); // TODO:Future:Open: Need to log all these and add user to // block list if this is deliberate // Get user information UserSessionBase userSession = ContextUtil.getCurrentUserSession(); Long sessionId = null; String loginId = null; String sessionInfo = ""; if (userSession != null) { loginId = userSession.getLoginId(); sessionInfo = userSession.toString(); sessionId = userSession.getSessionId(); } String requestInfo = ""; try { RequestContext reqContext = ContextUtil.getCurrentRequestContext(); if (reqContext != null) { requestInfo = reqContext.toString(); requestInfo += ", timeTaken=" + (System.currentTimeMillis() - reqContext.getStartTime()); } } catch (Throwable contextEx) { logger.error("Error getting request info", contextEx); } logger.error( "Access restricted. SessionId=" + sessionId + ", loginId=" + loginId + ", logMessage=" + logMessage + ", requestInfo=" + requestInfo + ", sessionInfo=" + sessionInfo, restException); return restException; }