Tomcat SPNEGO过滤器 - 访问日志中的REMOTE_USER

时间:2014-11-25 20:14:28

标签: tomcat

使用Tomcat(8.0.15)access log valve时,默认的日志记录模式是'%h%l%u%t"%r" %s%b'

我正在使用SPNEGO过滤器来验证用户身份。

带有简单request.getRemoteUser()的hello.jsp文件确实显示了我的Windows用户名,因此过滤器工作正常。

所以我认为%u会扩展为CGI变量REMOTE_USER,但它只显示一个空白。

我甚至尝试使用%{REMOTE_USER} i和%{REMOTE_USER} s和%{REMOTE_USER} r,但它们都不会在访问日志中显示该值。

我通过添加

启用了Extended Access Log Valve

<Valve className="org.apache.catalina.valves.ExtendedAccessLogValve" directory="logs" prefix="extended_access_log" suffix=".txt" pattern="c-ip x-H(remoteUser) date time cs-method cs-uri cs-uri-query cs-uri-stem sc-status bytes" />

conf/server.xml

但仍然没有。

以下是我在扩展访问日志中获得的内容

xx.xx.xx.xx - 2014-11-25 19:55:43 GET /hello.jsp - /hello.jsp 200 102

并在我的访问日志中

xx.xx.xx.xx - - - [25/Nov/2014:14:55:43 -0500] "GET /hello.jsp HTTP/1.1" 200 102

我错过了什么?这是时间问题吗?在写入访问日志条目后,过滤器是否设置REMOTE_USER

任何帮助表示感谢。

由于

0 个答案:

没有答案