2012-07-31 28 views
0

我正在RESTFul wcf服务上使用HMACMD5身份验证。签名的一部分基于请求的资源或客户请求的完整URL。WCF和HMACMD5身份验证和Uri已更改

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

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

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

例如,当我遇到

_HTTPS派://www.mytestingserver.com/GetResourcse/xxx/xxx

我其实写

_HTTPS:// MYTESTSERVER-DMZ/xxx/xxx

登录到我的服务中。

如何测试这一点,更重要的是,我怎么能保证我总是可以得到重写后的签名使用什么客户和你有什么,因为它不是在:

incomingRequestContext.UriTemplateMatch.RequestUri.OriginalString; 

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

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

回答