在WCF中读取调用者的IP地址(OperationContext为null)?

8 validation wcf

我正在使用UserNamePasswordValidator.Validate(字符串用户名,字符串密码)验证用户,并且服务正在托管自己(例如没有IIS).

我遇到的问题是,如果用户验证失败,我想跟踪用户的IP地址.这样可以很好地验证用户的验证,因为OperationContext已经初始化(它在validate方法中为null,直到稍后才创建).

有没有人知道如何在validate方法中或在执行validate方法之前获取客户端IP地址?

是的,我知道如何使用RemoteEndpointMessageProperty获取IP地址,但就像我说的那样,如果验证失败,它永远不会那么远:-)

Ran*_*pho 1

我整个星期都在研究这个问题,但我找不到一篇博客文章或 MSDN 文章来处理这个问题。

据我所知,您无法在验证阶段记录 IP 地址。

我建议的唯一解决方法是在 IIS 中托管并使用那里的网络博客,该博客会记录 IP 地址。不幸的是,这很痛苦,但这可能是唯一的方法。