我开发了Restful Web-Service,它返回jsonp对象。我在使用Ajax调用的简单HTML页面中使用此Web服务。客户端的方法只有访问此Web服务的HTML页面。客户端没有使用服务器。我刚刚运行此页面浏览器。问题是任何人都可以访问我已经实现的Web服务。我希望通过某种身份验证使其安全。我已经阅读了发送令牌以及请求的解决方案,但在客户端我没有任何服务器或任何东西,它只是一个简单的HTML页面。请帮我解决一些安全Web服务的问题。
调用webseive的JavaScipt函数:
function calculatePremium(investmentAmount,month, premium)
{
var url = "http://192.1.200.107:8080/webresources/avestWebService/getPremium";
var payLoadData = {
amount: $("#"+investmentAmount).val(),
period: $("#"+month).val()
};
$.ajax({
type: "GET",
url: url,
cache:false,
crossDomain:true,
data: payLoadData,
dataType: "jsonp",
success: function (data,textStatus,jqXHR) {
$("#"+premium).val(data.premium);
},
error: function (jqXHR,textStatus,errorThrown) {
alert('Error occured');
}
})
};
答案 0 :(得分:0)
使用ajax请求,您可以发送身份验证标头
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Basic " + "username:password");
},
或插入身份验证数据:
$.ajax({
type: "GET",
username: "user",
password: "password",
....
}
但您必须自己在Web服务中处理身份验证。 或者您可以使用var payLoadData添加一些您使用Web服务检查的自定义身份验证数据。
如果您不希望其他人拦截您的身份验证数据包,您还应考虑在https下建立连接