我想从这个场景开始。我已经尽可能地创建了一个可互操作的 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 身份验证),但我猜这将是可维护的噩梦。
你明白了,欢迎任何建议和想法!
谢谢你。