2

我想从这个场景开始。我已经尽可能地创建了一个可互操作的 WCF 服务,这意味着我有三个端点,一个使用 wsHttpBinding (SOAP),稍后在我设置我的证书时将使用传输安全性,以及两个 webHttpBindings,一个格式化 JSON,另一个我也想在那里添加传输安全性的 XML 消息。

现在这些端点与我的简单示例方法一起工作,接受并返回一个字符串,我必须弄清楚我需要选择的身份验证系统!

主客户端应用程序将是一个 ASP.NET MVC 应用程序,在这里我很高兴使用 ASP.NET Membership 提供程序在我的客户端应用程序内部进行身份验证和授权,并在 WCF 请求上使用这些凭据。我可以做到这一点,但现在其他系统供应商也参与了设计,这可能是(至少现在)以及 Android 和 iOS 移动设备。好消息是我们有 REST 端点可用于他们想要优雅地使用和处理的任何数据,那么通过 REST 端点进行身份验证会发生什么?我永远无法将开箱即用的 ASP.NET 成员资格提供程序用于我的 WCF 并自动处理请求,可以吗?

我现在的第一个问题是,我可以以某种方式将两者结合起来吗?任何具有最佳实践的人,谁在那里实施了这样的场景?我应该使用自定义身份验证系统吗?我应该从内部使用 Membership API 并验证对数据库的每次调用吗?REST 还有很多其他我没有得到的问题......凭据在每个消息头请求中?

我想到的另一件事是创建两个不同的服务(一个用于 MVC 应用程序,两个用于 REST XML,每个请求都对数据库进行 JSON 身份验证),但我猜这将是可维护的噩梦。

你明白了,欢迎任何建议和想法!

谢谢你。

4

1 回答 1

1

为什么你不能尝试一下ServiceStack。将您的所有逻辑推送到服务和客户端将是使用您最喜欢的 js 库(如angularjs )的单页应用程序。您可以在这里找到完整的示例http://razor.servicestack.net/

它还支持开箱即用的 OAuth 身份验证和基于表单的身份验证。不过还有一些可用的。

为什么不是 WCF?原因不止一个。WCF 很好,可以做很多大多数用例不需要的东西。对于这种逻辑在服务器上的场景,Servicestack 很容易使用。它默认支持 REST、SOAP 1、SOAP 2、JSON、JSV、XML 等。它将为您提供一个快速启动。还有一个带有 Monotouch 的 Servicestack 示例,因此应用程序可以在 iOS 上运行。而且 servicestack 还提供了许多其他开箱即用的东西。请访问网站并让我知道是否需要任何进一步的详细信息。

于 2013-02-26T06:06:01.507 回答