0

我在 RESTFul wcf 服务上使用 HMACMD5 身份验证。部分签名基于请求的资源或客户端请求的完整 url。

然后我尝试验证服务中的签名。由于请求的 URL 是签名的一部分,我需要得到它。我正在尝试通过以下方式获取原始网址:

WebOperationContext.Current.IncomingRequest.UriTemplateMatch.ToString();
WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.OriginalString;

这并不总是有效。我认为这可能是一个域问题,因为这只是在同一域上使用 SSL 的测试服务器上的测试阶段。

例如,当我发送过去

_https://www.mytestingserver.com/GetResource/xxx/xxx

我真的在写

_https://MYTESTSERVER-DMZ/xxx/xxx

登录我的服务。

我该如何测试这一点,更重要的是,如何确保我始终可以在重写后获得客户端在签名中使用的内容以及您拥有的内容,因为它不在:

incomingRequestContext.UriTemplateMatch.RequestUri.OriginalString;

我已经开始记录几乎所有内容,WebOperationContextOperationContext尝试在 Web 服务器上获取它。

任何帮助表示赞赏。谢谢,

4

1 回答 1

0

供参考

我可以浏览这篇文章:

允许访问 WCF REST 服务中的 HttpContext

这行得通,但也许有更好的方法而不改变底层协议。

于 2012-07-31T18:37:43.993 回答