在 WSO2 身份服务器日志中打印用户的 IP 地址

Print user's IP address in WSO2 identity servers log

我的应用程序使用 spring 安全 saml 扩展与 WSO2 身份服务器 5.3 和 SAML 2.0 集成,并且工作正常。现在我需要在 WSO2 身份服务器的日志中打印用户的 IP 地址。知道如何实现吗?

注意:我已经创建了自定义身份验证器和自定义用户存储来自定义身份验证过程。

通过扩展 BasicAuthenticator 解决了问题。这个 class 有一个带有参数 HttpServletRequest 的方法。休息很容易,我得到了 IP 和其他客户端信息,并调用了一个网络服务来将它们保存在数据库中。

protected void processAuthenticationResponse(HttpServletRequest 请求, HttpServletResponse 响应,AuthenticationContext 上下文)