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

Posted

技术标签:

【中文标题】在 WSO2 身份服务器日志中打印用户的 IP 地址【英文标题】:Print user's IP address in WSO2 identity servers log 【发布时间】:2017-09-05 03:25:39 【问题描述】:

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

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

【问题讨论】:

请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。 谢谢..我会记住的。 这不会打印在 http 访问日志中吗?你想让它打印在 wso2carbon.log 中吗? sparkletechthoughts.blogspot.com/2013/07/… 是的!!!我想在 WSO2Carbon.log 中打印这个。我还需要在自定义身份验证器中捕获相同的内容,以便我可以将此 IP 发送到外部 SOAP 服务以保存在数据库中。 【参考方案1】:

通过扩展 BasicAuthenticator 解决了这个问题。这个类有一个带有参数 HttpServletRequest 的方法。休息很简单,我得到了 IP 和其他客户端信息,并调用了 Web 服务将其保存在 DB 中。

受保护的 void processAuthenticationResponse(HttpServletRequest 请求, HttpServletResponse 响应,AuthenticationContext 上下文)

【讨论】:

以上是关于在 WSO2 身份服务器日志中打印用户的 IP 地址的主要内容,如果未能解决你的问题,请参考以下文章

WSO2用户名test011无效。用户名必须是非空字符串

WSO2 身份服务器 5x AD 用户存储 20 个字符限制和 upn

我如何针对来自身份服务器的 SAML 断言授权用户(Wso2is 5.4.0)

如何执行WSO2用户身份验证

WSO2 身份服务器 - 将数据库更改为 PostgreSQL 后,无法看到数据库表 UM_USER 中的用户

使用 WSO2 身份服务器通过 JWT 保护 WSO2 微服务