【问题标题】:WCF JSON service with request content encrypted请求内容加密的 WCF JSON 服务
【发布时间】:2012-05-05 10:32:39
【问题描述】:

一个 Json WCF 服务方法如下所示:

getFoo(MyDataType data){ ...

WCF 自动转换如下所示的 HTTP 请求:

  randomGuy{
       name:'John',
       age:18
    }

进入C#定义类型

MyDataType{
    string name {get;set;}
    int age {get;set;}
}

但是如果我对请求内容进行加密,而不是收到看起来像的请求

randomGuy{ 名称:'约翰', 年龄:18 } 我会收到 wceweuicn23cb38v934vb398v03c264vb834gv3v7b3vb3647v34vb3v83vh38v43vhv3hv

有什么办法可以先将请求内容解密成randomGuy{ 名称:'约翰', 年龄:18 } 在 WCF 将 JSON 对象转换为 .net 定义的类型 MyDataType 之前?

【问题讨论】:

    标签: json wcf


    【解决方案1】:

    对我来说,您有大约 2 个选择:

    • 选项 1:使用 SSL 进行连接以保护消息。
    • 选项 2:拦截消息

    总之,我相信您正在寻找的答案类似于 IClientMessageInspector,它允许您在 WCF 客户端上操作消息并在必要时拦截它们。这篇文章应该有点解释 - enter link description here

    【讨论】:

      【解决方案2】:

      看起来IDispatchMessageInspectorIDispatchMessageFormatter 在这种情况下可能会对您有所帮助。通常检查System.ServiceModel.Dispatcher 命名空间 - 还有其他乐于助人的工作人员。

      IDispatchMessageInspector 的想法是,您可以在传入消息从 JSON 转换为 .NET 对象之前更改(在您的情况下解密)传入消息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多