Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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
ASP.NET:从另一个应用程序读取Cookie_Asp.net_Cookies - Fatal编程技术网

ASP.NET:从另一个应用程序读取Cookie

ASP.NET:从另一个应用程序读取Cookie,asp.net,cookies,Asp.net,Cookies,我们有几个web应用程序。当我们运行其中任何一个时,我们输入用户名和密码,一些cookie(用户id)已发送到客户端计算机。当我们运行另一个应用程序时,我们应该能够检查我们是否已经登录到我们的一些应用程序中,如果已经登录,我们将自动登录到其他应用程序,而无需输入用户名和密码 似乎我们应该在其他应用程序中搜索cookie,以检查它们是否存在。据我所知,cookies存在于特定web应用程序的上下文中,我不确定是否可以在其他应用程序中检查它们的存在 如何解决此问题?如果您的web应用程序托管在同一域

我们有几个web应用程序。当我们运行其中任何一个时,我们输入用户名和密码,一些cookie(用户id)已发送到客户端计算机。当我们运行另一个应用程序时,我们应该能够检查我们是否已经登录到我们的一些应用程序中,如果已经登录,我们将自动登录到其他应用程序,而无需输入用户名和密码

似乎我们应该在其他应用程序中搜索cookie,以检查它们是否存在。据我所知,cookies存在于特定web应用程序的上下文中,我不确定是否可以在其他应用程序中检查它们的存在


如何解决此问题?

如果您的web应用程序托管在同一域的子域中(例如
exchange.contoso.com
mail.contoso.com
),则可以通过将对象的“domain”属性设置为
.contoso.com
,轻松地在子域之间交换cookies:

Response.Cookies["auth"].Domain = ".contoso.com";

希望这能有所帮助。

您无法从其他网站读取cookie的可能副本。您似乎正在寻找单点登录。@tesick此cookie将与给定的HTTP请求一起可用,就像任何其他cookie一样:
var val=request.Cookies[“auth”].Value
。我使用以下代码添加了具有域的cookie:HttpCookie accessTokenCookie=new HttpCookie(“access\u token”,TokenId);accessTokenCookie.Domain=“.Concert.ru”;添加(accessTokenCookie);但是,它不会显示在cookies列表中。怎么了?域名应该是真的吗?我的意思是不喜欢,例如:你好。@tesicg它应该是,还有下一个请求。尝试将“Expires”属性设置为将来的一个月。是的,域名必须是您用来请求网站的名称(
.concert.ru
,我猜)。还有一个问题-如何删除具有域范围的cookie?我这样删除它们:var accessTokenCookie=newhttpcookie(“access_token”);accessTokenCookie.Expires=DateTime.Now.AddDays(-1);response.Cookies.Add(accessTokenCookie);