识别Cookie

时间:2017-09-21 06:41:03

标签: asp.net asp.net-web-api cookies asp.net-core postman

我有一个带有API的ASP.NET Core Web应用程序,需要对用户进行身份验证。大约一个月前,我意识到我不能再使用Postman API工具了,因为即使我通过了身份验证,我的API调用也会得到响应,好像我没有经过身份验证。

当我查看cookies标签下的可用cookie时,我看到其中的四个。我认出其中一个而不是其他3个。

我在" Cookie"中看到的Cookie在进行API调用时Postman中的选项卡是:

  1. ARRAffinity
  2. .AspNetCore.my_cookie
  3. _ga
  4. _gid
  5. 所有四个Cookie都显示我的域名。我注意到的唯一区别是,第二个Cookie显示mydomain.com,而其他Cookie显示.mydomain.com。我认识到第二个,因为我将我的名字命名为my_cookie。那个也是最大的也是有意义的,因为我在cookie中存储了一些信息。我假设我的应用添加了.AspNetCore前缀,因为它是带有API的ASP.NET核心网络应用。

    其他三个饼干是什么?我需要它们吗?

    我注意到的另一件重要事情是,当我使用Fiddler检查我的API调用时,在" Cookies"在Fiddler的标签中,我只看到我无法通过API调用发送的树cookie。我没有看到我认识的是我的网站发布的那个。

    看起来我的Postman问题与使用API​​调用发送的这三个未识别的Cookie有关,但不是我发出的那个,即我的API调用没有发送.AspNetCore.my_cookie

1 个答案:

答案 0 :(得分:1)

_ga _gid 用于收集Google Analytics数据。

名称 - 到期时间 - 说明

_gid - 24小时 - 用于区分用户。

_gat - 1分钟 - 用于限制请求率。

如果您想了解有关Google Analytics Cookie的更多信息,请read this

另一方面, ARRAffinity 。默认情况下,Windows Azure网站使用ARRAffinity cookie来确保用户的后续请求被路由回用户最初连接到的网站实例。换句话说,Windows Azure网站假定您的网站不是无状态的。如果您要将网站部署扩展到多个实例,ARR服务器会处理此ARR Affinity cookie并将您发送回处理初始请求的实例(发起cookie的请求)。

如果您还不熟悉这一点,请查看this blog,了解有关网站ARR亲和力的深入讨论,以及如果您的网站无国籍,如何禁用ARR亲和力。