jquery与asp.net和身份验证
我正在使用jquery从我的网站访问asp.net web服务。此web服务需要获取访问它的用户的用户ID,并且该用户在我的网站上使用asp.net身份验证登录 在asp.net中,我可以编写“User.Identity.Name”来获取用户ID,现在我需要找到一种在客户端获取此信息的方法,这怎么可能 我访问web服务的代码:jquery与asp.net和身份验证,asp.net,jquery,authentication,Asp.net,Jquery,Authentication,我正在使用jquery从我的网站访问asp.net web服务。此web服务需要获取访问它的用户的用户ID,并且该用户在我的网站上使用asp.net身份验证登录 在asp.net中,我可以编写“User.Identity.Name”来获取用户ID,现在我需要找到一种在客户端获取此信息的方法,这怎么可能 我访问web服务的代码: $.ajax({ type: "GET", url: "http://domain.com/Service.svc/search?keyword=" +
$.ajax({
type: "GET",
url: "http://domain.com/Service.svc/search?keyword=" + this.value + "&userid=" + HERE I NEED THE USERID,
dataType: "json"
.....
});
一种方法是将用户ID放在一个隐藏的字段或其他地方,并以这种方式访问它,这可能是一种方法吗?假设所有这些都在一个可信的内部网络上(例如,一家公司?),那么jQuery调用将以与您的网站相同的方式向web服务提供用户的凭据。web服务是否可以检查通话中的身份验证人(例如使用User.Identity.Name)
这种方法比在查询字符串上提供用户名(或作为web服务调用的参数)要好得多,因为这两种方法中的任何一种都很容易被破坏。假设这一切都在可信的内部网络上(例如,公司?),然后jQuery调用将以与您的网站相同的方式向web服务提供用户的凭据。web服务是否可以检查通话中的身份验证人(例如使用User.Identity.Name)
$.ajax({
type: "GET",
url: "http://domain.com/Service.svc/search?keyword="
+ this.value + "&userid=<%= User.Identity.Name %>",
dataType: "json"
.....
});
这种方法比在querystring上提供用户名(或作为web服务调用的参数)要好得多,因为这两种方法都很容易被破坏。$.ajax({
$.ajax({
type: "GET",
url: "http://domain.com/Service.svc/search?keyword="
+ this.value + "&userid=<%= User.Identity.Name %>",
dataType: "json"
.....
});
键入:“获取”,
url:“http://domain.com/Service.svc/search?keyword="
+this.value+“&userid=”,
数据类型:“json”
.....
});
我会的,但你确定你需要吗?如果这不是跨域调用,那么请求应该来自经过身份验证的用户会话,因此在您的服务中,您可以在代码中提取该信息
因为,这很容易被人修改,所以您可能实际上想要使用其他东西,例如,使用两端都知道的salt和key对用户名进行加密。$。ajax({
键入:“获取”,
url:“http://domain.com/Service.svc/search?keyword="
+this.value+“&userid=”,
数据类型:“json”
.....
});
我会的,但你确定你需要吗?如果这不是跨域调用,那么请求应该来自经过身份验证的用户会话,因此在您的服务中,您可以在代码中提取该信息
因为,这很容易被人修改,所以您可能实际上想要使用其他东西,例如使用两端都知道的salt和密钥加密用户名。Aha,所以如果web服务位于同一个域中(它是),我就可以在web服务上获取用户ID了?:)从来没有想过..啊哈,所以如果web服务在同一个域中(它是),我就可以在web服务上获取用户ID了?:)我从来没想过。。