【问题标题】:How can I create an authentication cookie, but w/o asp.net formsauthentication?如何创建身份验证 cookie,但没有 asp.net 表单身份验证?
【发布时间】:2011-01-10 21:13:55
【问题描述】:

我们是否知道 asp.net 用于创建身份验证 cookie 的算法(使用表单身份验证时?)

我们基本上可以创建自己的副本实现吗?如果有,怎么做?

它使用什么来生成加密的 cookie 值,我知道它使用您传递给 SetAuthCookie 调用的任何内容(通常是用户 ID/用户名)。

【问题讨论】:

    标签: asp.net security cryptography forms-authentication


    【解决方案1】:

    表单身份验证使用成员身份标识符,这是配置的成员身份提供商提供的唯一值。然后,它获取该值,加上票证中的任何用户数据集,将其转换为二进制 blob,添加发行日期、到期日期,并根据配置使用机器密钥使用 HMAC 对其进行签名,并使用机器密钥对其进行签名和加密机器钥匙,或者什么都不做(坏主意!)。

    然后它将 cookie 写为仅 HTTP cookie。

    然后在每个请求中加载、验证、使用成员身份标识符来查找用户,并在该线程上填充用户详细信息。如果设置了滑动票到期,它将刷新 cookie 以具有新的到期日期。

    【讨论】:

      猜你喜欢
      • 2014-04-01
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 2012-08-01
      • 2017-10-26
      • 2011-06-11
      相关资源
      最近更新 更多