关于可互操作(SOAP、REST)WCF服务的安全性和身份验证设计概念



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

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

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

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

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

你有这个想法,欢迎任何建议和想法!

谢谢。

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

它还支持开箱即用的OAuth身份验证和基于表单的身份验证。不过,几乎没有其他可用的。

为什么不使用WCF?原因不止一个。WCF很好,做了很多大多数用例不需要的事情。Servicestack很容易用于这种逻辑在服务器上的场景。默认情况下,它支持REST、SOAP 1、SOAP 2、JSON、JSV、XML等。它将为您提供一个快速启动。此外,还有一个带有Monotouch的Servicestack示例,因此应用程序在iOS上运行。此外,servicestack还提供了许多其他开箱即用的东西。请访问网站,如果需要任何进一步的细节,请告诉我。

相关内容

  • 没有找到相关文章

最新更新