Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery与asp.net和身份验证_Asp.net_Jquery_Authentication - Fatal编程技术网

jquery与asp.net和身份验证

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=" +

我正在使用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=" + 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了?:)我从来没想过。。