【发布时间】:2014-05-25 17:01:57
【问题描述】:
我已经实现了 WCF Rest 完整服务。我也将它配置为跨域,但现在我的问题是如何保护它。
我正在使用 AJAX 调用该服务,
$(document).ready(function () {
$.getJSON("http://localhost:52823/Handler/RequestService/GetPeople", function (data) {
$("#response").append(JSON.stringify(data));
});
});
现在我从 ajax 调用,所以我的服务链接对浏览器中的每个人都可见,因此任何人都可以调用该服务并获取该数据。
所以我google了一下,发现我们可以把clientaccesspolicy.xml放到服务器的根目录下,我们就可以配置具体的域了。所以我用下面的代码试过了
<?xml version="1.0" encoding="utf-8" ?> <access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="SOAPAction">
<domain uri="myipaddress or domainname"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
但它不起作用,所以任何人都可以帮我保护 WCF 服务。
【问题讨论】:
-
我的建议对你有帮助吗?