C# WIF提供哪些安全优势?

C# WIF提供哪些安全优势?,c#,security,wif,C#,Security,Wif,我们目前使用WIF保护我们的应用程序和后端服务。我试图确定我们的解决方案中是否真的需要WIF,或者它是否只是一个额外的层,消耗资源而不提供任何好处 我们当前的应用程序分为两个独立的web应用程序,一个客户端和管理员,以及几个WCF服务。两个应用程序之间不共享标识(管理员和客户端的凭据不同)。身份仅在客户端和WCF服务之间共享。这发生在机器之间,但决不会跨越网络或企业边界 我们使用第三方执行身份验证,但第三方不用作身份提供者。该功能在应用程序本身内部执行 我们目前没有未来计划在其他应用程序或服务之

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

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

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

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


考虑到我们的应用程序的设置方式,我们真的从使用WIF作为保护后端服务的额外手段中获益匪浅吗?如果WIF被删除了,我们会损失什么?

如果您删除WIF,您将不得不用一些东西替换它。除非您决定根本不需要用户身份验证和授权。请记住,除了身份验证之外,WIF还提供了基于声明的授权模型

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

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

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

如果是我的项目,我首先要问的问题是:

  • 现有的WIF安全模型有效吗?如果没有,则修复或更换。如果是,那么
  • 它是否会引起任何问题(严重影响内存使用、应用程序响应或开发人员生产率)?如果没有,那就别管它。如果是,那么
  • 替换它的好处是否值得付出代价,是否值得冒着破坏某些功能或无法实现某些其他功能的风险

  • 如果你有一些可以工作并且不妨碍你改进应用程序的能力的东西,那么你花在这件事情上的任何时间都是以其他一些功能为代价的。

    如果你删除WIF,你必须用一些东西来替换它。除非您决定根本不需要用户身份验证和授权。请记住,除了身份验证之外,WIF还提供了基于声明的授权模型

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

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

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

    如果是我的项目,我首先要问的问题是:

  • 现有的WIF安全模型有效吗?如果没有,则修复或更换。如果是,那么
  • 它是否会引起任何问题(严重影响内存使用、应用程序响应或开发人员生产率)?如果没有,那就别管它。如果是,那么
  • 替换它的好处是否值得付出代价,是否值得冒着破坏某些功能或无法实现某些其他功能的风险

  • 如果你有一些有效且不妨碍你改进应用程序的能力的东西,那么你花在这件事情上的任何时间都是以其他一些功能为代价的。

    如果我仅根据这3个问题做出决定,我不得不说,是的,它有效,如果你不计算我们需要做的一些改变。如果我仅仅根据这三个问题来做决定,我会说,是的,它是有效的,如果你不计算我们需要做的一些改变。