我们目前使用WIF来保护我们的应用程序和后端服务。我正在尝试确定我们的解决方案中是否真的需要WIF,或者它是否仅仅是一个消耗资源而不提供任何好处的额外层。
我们当前的应用程序分为2个独立的Web应用程序,即客户端和管理员以及多个WCF服务。两个应用程序之间不共享身份(管理员和客户端具有不同的凭据)。只在客户端和WCF服务之间共享身份。这发生在计算机之间,但从不跨越网络或企业边界。
我们使用第三方执行身份验证,但第三方不会用作身份提供商。该功能在应用程序内部执行。
我们目前没有计划在其他应用程序或服务之间共享身份,或使用第三方身份提供商等。
鉴于我们的应用程序设置方式,我们是否真的从使用WIF作为保护我们后端服务的其他方法中获得了很多收益?如果WIF被删除了,我们失去了什么?
答案 0 :(得分:1)
如果您删除WIF,则必须将其替换为某些内容。除非您决定根本不需要用户身份验证和授权。请记住,除了身份验证之外,WIF还为您提供基于声明的授权模型。
WIF的另一个好处是它已成为保护应用程序的一种众所周知的标准方式,这意味着当您将来引入新开发人员时,他们可能会熟悉您的安全模型。这是一个很大的好处。将其与您必须培训新开发人员的自定义安全模型进行比较。
此外,WIF是一项经过验证的技术,具有众所周知的安全优势。如果按照建议实施WIF,则应用程序是安全的。其他模型并不一定如此,特别是定制设计的安全模型。
此外,您说目前没有未来计划使用WIF的更高级功能。目前没有计划和永远不会有这样的计划之间存在很大差异。使用当前的WIF实施,如果计划在未来发生变化,您可以灵活地添加这些内容。如果用其他东西替换WIF,那么你就放弃了这种灵活性。或者至少让它变得更加困难。
如果是我的项目,我要问的第一个问题是:
如果您的某些内容有效并且不会影响您改进应用程序的能力,那么每当您花在这篇文章上的时间都是以其他功能为代价的。