[英]REST or SOAP WCF service on secure internal network NO SSL
我正在编写的服务有问题。
当前,我们有一个内部安全网络上托管的Webapp。
现在需要提供一种服务,以公开我们的Web应用程序业务功能,以供客户使用以创建本机平板电脑应用程序。
移动设备将使用VPN进入网络。 要访问我们的Web应用程序,用户通常需要使用用户名和密码。 即。 没有SSL。 用户名和密码以自定义设置存储在我们的数据库中(无ASP成员资格等)。
现在,我提出了缺少SSL的问题,但是这已经被拒绝了,负责这些事务的人感到进入内部网络所需的安全性就足够了。
我意识到这意味着应用程序对网络内部但在应用程序用户组外部的内部用户的恶意行为开放
因此,现在在WCF中创建我的服务时出现了一个问题。 没有SSL的身份验证似乎很麻烦。 我确实找到了:
[Yaron Naveh的ClearUsernameBinding] [1] http://webservices20.blogspot.co.uk/2008/11/introducing-wcf-clearusernamebinding.html
我觉得这将解决我所有的问题,直到我意识到必须改变计划以提供json的RESTful服务,并且现在必须使用SOAP。
尽管如此,我还是很满意,直到我意识到SOAP随包附带的包络而出现带宽问题。 这让我感到担忧,因为它是一项服务,它将被3g以上的移动应用所消耗,并且存在带宽限制。
因此,如果没有SSL的选择(请不要另外说),您是否认为使用SOAP而不是REST是更好的选择? 我应该担心带宽吗? (返回的行数不会超过200,并且大多数会小得多)。 我们大约要花多少开销?
wcf REST config是否有一个选项,我可以在没有证书的情况下进行身份验证(使用某种形式的自定义身份验证)? 这对我来说会更好。
WSDL信封不在兆字节范围内。 正常配置每个请求需要几千字节。 因此,可能的带宽瓶颈在很大程度上取决于请求/时间比率 。
您始终可以使用令牌来实现自定义身份验证机制。 基本思路是这样的...
我强烈建议您遵循Membership API路径。 我描述的逻辑是Membership API使用的逻辑。 自己实现它只是时间开销和一个错误生成器。 我不明白你为什么要重新发明轮子...
希望我能帮上忙!
REST 与Soap中详细讨论了REST和SOAP Web服务之间的性能比较。 REST有更好的性能吗? 。
您当然可以在WCF REST服务中实现自定义身份验证,而无需证书或安全传输。 一种选择是使用类似于以下内容的绑定:
<bindings>
<webHttpBinding>
<binding name="default">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" proxyCredentialType="Windows"/>
</security>
</binding>
</webHttpBinding>
</bindings>
http://msdn.microsoft.com/en-us/library/bb924478(v=vs.110).aspx
包括Microsoft警告:“此模式不提供消息的完整性和机密性。 它提供基于HTTP的客户端身份验证。 请谨慎使用此模式。 它应在通过其他方式(例如IPSec)提供传输安全性且WCF基础结构仅提供客户端身份验证的环境中使用。”
以下链接提供了自定义WCF REST身份验证解决方案的全面概述: http : //www.codeproject.com/Articles/304877/WCF-REST-4-0-Authorization-with-Form-Based-Authent
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.