gpt4 book ai didi

java - 带有嵌入式tomcat的Spring引导+带有身份验证用户的访问日志

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:21:18 24 4
gpt4 key购买 nike

我正在使用带有嵌入式 tomcat + spring 安全性的 spring boot。我的tomcat访问日志是这样的

IP - - [14/Feb/2017:08:49:50 +0200] "GET/page/2 HTTP/1.1"200 2606

那么,我怎样才能使日志文件看起来像

IP - - [14/Feb/2017:08:49:50 +0200] 用户名 - "GET/page/2 HTTP/1.1"200 2606

每个请求都必须有用户名。对于安全身份验证,我使用带有数据库用户名和密码信息的 spring security。

最佳答案

您可能需要更改 access log pattern在应用程序属性中是这样的:

server.tomcat.accesslog.pattern=%h %l %t %u "%r" %s %b

其中 %u已通过身份验证的远程用户(参见示例 here)。


UPD:可能这还不够,因为 common 模式已经包含 %u 参数。在这种情况下,我会推荐两个额外的步骤:

  1. 将用户名放入请求 session 参数中,例如:

request.getSession().setAttribute("用户名", user.getName());

  1. 在访问日志模式中添加以下参数:%{username}s

    server.tomcat.accesslog.pattern=%h %l %t %u %{username}s "%r"%s %b

它应该从 HttpSession 中获取名为 username 的属性,正如它描述的那样 here .

关于java - 带有嵌入式tomcat的Spring引导+带有身份验证用户的访问日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42220573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com