我们目前正在开发一些新系统来替换几个遗留系统的部分。
我们有一些新的WCF Web服务,它们将与现有的ASMX Web服务并列。
ASMX Web服务通过Soap Header Context对象进行身份验证,该对象具有4个自定义属性,包括一个令牌(之前生成并在登录时返回),然后进行验证。
我们还没有重新编写验证代码,登录仍然由现有的ASMX服务处理,因此我们需要调用现有的验证器,使用WCF服务应用程序中的4个属性传入Context对象。
我们如何通过WCF服务捕获4个属性?
之前的WCF项目实现了WCFExtras +以通过WCF复制Soap Header。
我们可以再次这样做,但更喜欢本地WCF方法。
我找到了自定义UserNamePasswordValidator或ServiceAuthorizationManager等选项,但无法确定如何将这些选项完全应用于我们的特定要求。
这可能吗?怎么样?
答案 0 :(得分:0)
经过大量谷歌搜索后,我使用IOperationBehavior,IContractBehavior和IDispatchMessageInspector
编写了我自己的自定义行为