c# - 确定 WCF SOAP UserNamePasswordValidator 中客户端的 IP 地址

标签 c# wcf authentication soap

我们目前正在使用自定义 UserNamePasswordValidator 。这允许使用者在 SOAP header 中指定凭据,如下所示:

<o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" mustUnderstand="1">
<Timestamp Id="_0">
    <Created>
        2013-04-05T16:35:07.341Z</Created>
        <Expires>2013-04-05T16:40:07.341Z</Expires>
    </Timestamp>
    <o:UsernameToken Id="uuid-ac5ffd20-8137-4524-8ea9-3f4f55c0274c-12">
        <o:Username>someusername</o:Username>
        <o:Password o:Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">somepassword
    </o:Password>
</o:UsernameToken>
</o:Security>

我们需要开始记录客户端的 IP 地址,以及进行一些 IP 白名单/黑名单操作。不幸的是,我不知道如何在此类中检索 IP。在运行时,OperationContext.CurrentHttpContext.Current属性为空。

最佳答案

正确的答案是打开 asp.net 兼容性以恢复 http 上下文。很高兴我能提供帮助。

关于c# - 确定 WCF SOAP UserNamePasswordValidator 中客户端的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15839667/

相关文章:

c# - 使用 MVVM 单击 DataGrid 单个单元格行和列

c# - C# 中的空格

wcf.js模块从nodejs访问wcf服务

c# - 强制 WCF 在客户端代理中创建 xml 命名空间别名

asp.net-mvc - Azure 可扩展环境中的 WebSocket

javascript - 在 NodeJ 中组合不同的模块

python - repoze.who 身份验证失败时如何返回 JSON 输出?

c# - 在asp.net按钮回发后恢复动态创建的javascript表结构

C# 和 MySQL - 返回 DataReader(或其内容)的方法

ruby-on-rails - Rails 中可能出现 HTTP 基本自定义错误?