【发布时间】:2013-07-04 21:53:02
【问题描述】:
我想将 Web 服务与 Ajax 一起使用。使用 ajax 调用 web 服务时,安全性的最佳方法是什么?我想防止远程调用应用程序。
我有以下 webservice 例如:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class Users : System.Web.Services.WebService
{
[WebMethod]
public List<User> GetUsers()
{
List<User> listUsers = new List<User>();
User user = new User();
user.Id = 1;
user.Name = "John";
User user2 = new User();
user2.Id = 2;
user2.Name = "Martin";
listUsers.Add(user);
listUsers.Add(user2);
return listUsers;
}
}
}
我用 jquery ajax 调用 web 服务:
<script type="text/javascript">
$(function () {
getUsers();
function getUsers() {
$.ajax({
type: "POST",
url: "Webservices/Users.asmx/GetUsers",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var users = response.d;
$.each(users, function (index, user) {
console.log(user.Name);
});
},
failure: function (msg) {
}
});
}
});
</script>
【问题讨论】:
-
调用 Web 服务的应用程序是什么? ASP.NET Web 窗体,MVC? .asmx 是同一个应用程序的一部分吗?调用 .asmx 的 Web 应用程序如何保护?您是否为此使用表单身份验证?
-
@Badri - 感谢您的提问。我使用 ASP.NET Web 窗体。 asmx 在同一个应用程序中。我做一个聊天应用程序,我想使用网络服务来保存消息和检索新消息。我想做安全的网络服务来在聊天中发送消息。聊天只能使用注册用户。对于身份验证,我想使用表单身份验证。
标签: jquery asp.net ajax web-services