ASPNET Cookie验证

时间:2019-11-01 02:26:51

标签: session model-view-controller cookies webforms forms-authentication

在表单身份验证中,在对用户/密码进行身份验证之后,将创建cookie并将其发送到客户端计算机。下列任何一项都可以回答有关验证Cookie的问题。

  1. 成功登录后,在后续请求中,aspnet如何验证此客户端cookie? ASPNET是否会将Cookie的内容与任何数据存储区进行比较?
  2. 在服务器上,aspnet在哪里维护经过身份验证的用户详细信息以验证cookie?
  3. cookie中放置了哪些详细信息?

1 个答案:

答案 0 :(得分:0)

  1. FormsAuthentication.SetAuthCookie设置的cookie包含加密并签名的FormsAuthenticationTicket对象的字符串表示形式,该对象又表示表单表单身份验证用来标识已身份验证用户的身份验证票证。使用相关联的用户名,版本号,到期日期,发布日期,关于票证是否将存储在持久性cookie中的布尔值以及任何特定于用户的数据,初始化票证对象。有关详细信息,请查看FormsAuthenticationTicket中的constructors。除此之外,cookie通常包含诸如其虚拟路径,关联的域以及是否仅应通过HTTPS连接传输cookie之类的属性。

1和2。在每个请求上,服务器都会查找cookie并解密其中找到的身份验证票证。另外,服务器根据票证的到期值检查票证是否仍然有效。无论如何,都不会与任何服务器端维护的数据进行比较和/或验证。