【问题标题】:Claims Cookie Security in ASP.Net Identity在 ASP.Net 身份中声明 Cookie 安全性
【发布时间】:2014-03-09 15:57:24
【问题描述】:

我从网上阅读的理解是,Claims 被存储为 cookie,现在我将 User's Roles 添加到 Claims 集合中,因此它将被保存到 Claims Cookie 中。现在这很棒,因为每次我在 ASP MVC 控制器中有要检查的授权属性时,它都会节省我往返数据库以检索用户角色的麻烦。

  • 这安全吗?
  • cookie被盗后能否解密?
  • 是否有替代方法不在 Cookie 中保存声明并将其保存在 服务器,这效率高吗,还是我太担心了?

【问题讨论】:

    标签: c# asp.net asp.net-mvc claims-based-identity owin


    【解决方案1】:

    Cookie 几乎是维护网站身份验证会话的标准方式。除非您使用无 cookie 机制,它将会话作为查询字符串传输并且被证明不太安全。无论您是否在 cookie 中存储声明,您仍然依赖 cookie 安全机制来维护页面点击之间的客户端身份。该机制已经存在多年,只要您遵循 Microsoft 的实施指南,它就被认为是安全的。

    假设您将 .NET 4.5 或 .NET 4.0 与 WIF 库一起使用,您可以在服务器上缓存声明而不在 cookie 中发送它。这是一些基本的documentation。通常,如果您有很多声明并且 cookie 太大而无法进行每个页面点击,则建议您这样做。

    【讨论】:

    • 非常感谢您提供的信息,非常感谢,也许我错了,但您给我的链接似乎不适用于 ASP.NET MVC 5.1 Owin
    • 是的,抱歉,这是 OWIN 之前的代码,不确定您使用的是哪个版本的 MVC。目前 Owin cookie 没有内置的服务器端缓存,因此您必须按照 IliaJ 发布的内容滚动自己的缓存。
    【解决方案2】:

    正如 Oleg 所写,标准 cookie 加密被认为是安全的。

    这里的讨论Server side claims caching with Owin Authentication>也可能很有趣。

    【讨论】:

      猜你喜欢
      • 2014-03-22
      • 2021-08-26
      • 2016-03-01
      • 2012-08-01
      • 2023-03-31
      • 2017-06-17
      • 2018-12-29
      • 2016-06-29
      • 1970-01-01
      相关资源
      最近更新 更多