【问题标题】:How does an OWIN authentication cookie actually authenticateOWIN 身份验证 cookie 如何实际进行身份验证
【发布时间】:2017-05-06 04:05:08
【问题描述】:

为了验证用户,Microsoft.Owin.Security.AuthenticationManager.SignIn(claimsIdentity)的默认实现生成的cookie中存储了哪些信息?

Chrome / FF 不会清除没有过期日期的 cookie(取决于用户的浏览器设置)。因此,即使是非持久性的、经过 cookie 身份验证的用户也会在浏览器重新启动时保持登录状态。

用户甚至在应用程序池回收后保持登录状态,这就是促使我提出这个问题的原因。

cookie 是否包含特定于会话的信息,还是与持久性 cookie 相同,但没有到期日期?

【问题讨论】:

    标签: c# asp.net authentication cookies owin


    【解决方案1】:

    据我所知,生成的 cookie 包含多个字段,其中包括用户 ID 和 cookie 的到期日期时间。数据使用 Web 服务器的机器密钥加密,该机器密钥生成发送到浏览器的 cookie。

    因此,在网络应用程序重新启动后,机器密钥保持不变,并且只要没有过期,cookie 仍然可以使用。

    【讨论】:

    • 谢谢大卫。我没有在我的 web.config 中定义机器密钥。这是自动生成的吗?如果是这样,大概它在应用程序池回收中保持不变?
    • 是的,默认情况下它是为 IIS 中的每个应用程序池(或 Web 标识)自动生成的,并且在您在 Web 配置中定义之前保持不变。所以它会在回收后保持不变。
    猜你喜欢
    • 2015-09-23
    • 2023-04-05
    • 2015-10-09
    • 2020-12-19
    • 2023-03-31
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多