【问题标题】:OWIN Cookies vs FormsAuthenticationOWIN Cookie 与 FormsAuthentication
【发布时间】:2014-11-28 12:51:43
【问题描述】:

在开发 MVC Web 应用程序时,使用基于 OWIN cookie 的身份验证与基于 Forms 身份验证 cookie 的身份验证相比有哪些主要优势?

我问的原因是我不会使用任何基于实体框架的挂钩来进行 OWIN 身份验证。多年来,我已经基于表单身份验证构建了应用程序,并且能够为管理员(更快的超时)、匿名用户和注册用户创建不同的身份验证令牌。使用票证的 UserData 部分,我能够实现通用注销、存储自定义属性等。

OWIN 的优势之一可能是可测试性,但我不确定。 ClaimsIdentity 有点好,因为我可以轻松地存储和访问自定义字段,而无需将属性序列化/反序列化为 UserData。我应该考虑的其他事项?

【问题讨论】:

  • 这和OWIN无关。。这是asp.net的身份,正好也移到了默认模板中的owin层,但也可以在其他地方使用。 OWIN 只是一个中间件抽象层。您可能应该尽早采用它,因为下一版本的 Visual Studio 将严重依赖它,因为 System.Web 依赖正在逐步淘汰。

标签: c# forms-authentication asp.net-identity owin


【解决方案1】:

Cookie 身份验证中间件可以在包括 IIS 在内的任何 OWIN 主机中运行,而 FormsAuthenticationModule 只能在 IIS+ASP.NET 中运行。如果您现在或将来需要在不同类型的主机中托管,CAM 是更好的选择。中间件有但 FAM 没有的另一个特性是 cookie 分块。如果您的用户数据足够大,以至于 cookie 超过了允许的大小限制,浏览器只需停止发送身份验证 cookie,而中间件将大 cookie 分成多个小 cookie,并在收到时重新组合它们。

【讨论】:

  • 为了对此进行扩展,ASP.NET 正在转向一种对所使用的服务器依赖程度较低的模型。继续使用 FormsAuth 会将您与 IIS 联系起来,您今天可能并不关心它,但有一天您将需要做很多工作来解决所有这些问题……最好现在采用新方法,因为它很容易,因为这是它将前进的方式。
猜你喜欢
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-03
相关资源
最近更新 更多