1

我们目前使用 WIF 来保护我们的应用程序和后端服务。我试图确定我们的解决方案中是否真的需要 WIF,或者它是否只是一个额外的层,它消耗资源而没有提供任何好处。

我们当前的应用程序分为 2 个独立的 Web 应用程序,一个客户端和管理员以及几个 WCF 服务。两个应用程序之间不共享身份(管理员和客户端的凭据不同)。身份只在客户端和 WCF 服务之间共享。这发生在机器之间,但从不跨越网络或企业边界。

我们使用第三方来执行身份验证,但是第三方不用作身份提供者。该功能在应用程序本身内部执行。

我们目前没有未来计划在其他应用程序或服务之间共享身份,或使用第 3 方身份提供者等。

鉴于我们的应用程序的设置方式,我们真的从使用 WIF 作为保护后端服务的额外手段中获得了很多好处吗?如果 WIF 被删除,我们会失去什么?

4

1 回答 1

1

如果您删除 WIF,则必须将其替换为. 除非您决定根本不需要用户身份验证和授权。请记住,除了身份验证之外,WIF 还为您提供了基于声明的授权模型。

WIF 的另一个好处是它正在成为一种众所周知的保护应用程序的标准方法,这意味着当您在未来引入新的开发人员时,他们可能会熟悉您的安全模型。这是一个很大的好处。将其与您必须培训新开发人员的自定义安全模型进行比较。

此外,WIF 是一项经过验证的技术,具有众所周知的安全优势。如果您按照建议实施 WIF,则您的应用程序是安全的。其他模型不一定如此,尤其是定制设计的安全模型。

另外,您说您目前没有使用 WIF 更高级功能的计划。目前没有计划和永远不会这样做之间有很大的区别。通过您当前的 WIF 实施,如果未来计划发生变化,您可以灵活地添加这些内容。如果你用其他东西替换 WIF,你就放弃了这种灵活性。或者至少让它变得更加困难。

如果是我的项目,我会问的第一个问题是:

  1. 现有的 WIF 安全模型是否有效?如果不是,则修复或更换。如果是,那么...
  2. 是否会引起任何问题(严重影响内存使用、应用程序响应或开发人员的工作效率)?如果没有,那就别管它了。如果是,那么...
  3. Are the benefits of replacing it worth the cost and the risk of breaking something or failing to implement some other feature?

If you have something that works and doesn't impede your ability to improve your application, then any time you spend working on that piece is at the cost of some other feature.

于 2013-02-15T19:28:55.577 回答