001
014
015 package com.liferay.portal.servlet.filters.audit;
016
017 import com.liferay.portal.kernel.audit.AuditRequestThreadLocal;
018 import com.liferay.portal.kernel.util.WebKeys;
019 import com.liferay.portal.servlet.filters.BasePortalFilter;
020
021 import javax.servlet.FilterChain;
022 import javax.servlet.http.HttpServletRequest;
023 import javax.servlet.http.HttpServletResponse;
024 import javax.servlet.http.HttpSession;
025
026
029 public class AuditFilter extends BasePortalFilter {
030
031 protected void processFilter(
032 HttpServletRequest request, HttpServletResponse response,
033 FilterChain filterChain)
034 throws Exception {
035
036 AuditRequestThreadLocal auditRequestThreadLocal =
037 AuditRequestThreadLocal.getAuditThreadLocal();
038
039 auditRequestThreadLocal.setClientHost(request.getRemoteHost());
040 auditRequestThreadLocal.setClientIP(request.getRemoteAddr());
041 auditRequestThreadLocal.setQueryString(request.getQueryString());
042
043 HttpSession session = request.getSession();
044
045 Long userId = (Long)session.getAttribute(WebKeys.USER_ID);
046
047 if (userId != null) {
048 auditRequestThreadLocal.setRealUserId(userId.longValue());
049 }
050
051 auditRequestThreadLocal.setRequestURL(
052 request.getRequestURL().toString());
053 auditRequestThreadLocal.setServerName(request.getServerName());
054 auditRequestThreadLocal.setServerPort(request.getServerPort());
055 auditRequestThreadLocal.setSessionID(request.getSession().getId());
056
057 processFilter(AuditFilter.class, request, response, filterChain);
058 }
059
060 }