在ASP.Net Identity中声明Cookie安全性

Dev*_*nia 19 c# asp.net asp.net-mvc claims-based-identity owin

我通过网络阅读理解它的方式是声明存储为cookie,现在我将用户的角色添加到声明集合中,因此它将保存到声明Cookie中.现在这很好,因为每次我在ASP MVCController中检查授权属性时,它会省去数据库轮次跳转以检索用户角色.

  • 这样安全吗?
  • 如果被盗,可以解密cookie吗?
  • 有没有替代方法不在Cookie中保存声明并将其保存在服务器上,这是有效的,还是我担心多少?

0le*_*leg 12

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

假设您使用带有WIF库的.NET 4.5或.NET 4.0,您可以在服务器上缓存声明,而不是在cookie中发送声明.这是一些基本文档.通常建议如果你有很多声明并且cookie太大而无法进行每次点击.


小智 7

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

这里的讨论< 服务器端声称使用Owin身份验证进行缓存 >也可能很有趣.