我在RESTFul wcf服务上使用HMACMD5身份验证。部分签名基于请求的资源或客户请求的完整URL。
然后我尝试验证服务中的签名。由于请求的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;
我已经开始使用WebOperationContext
和OperationContext
记录几乎所有内容,以尝试在网络服务器上进行此操作。
感谢任何帮助。 谢谢,
答案 0 :(得分:0)