WCF安全性以及在这种情况下使用什么
我有一个客户机/服务器应用程序,它在一台服务器上有多台客户机和一项服务WCF安全性以及在这种情况下使用什么,wcf,security,login,certificate,Wcf,Security,Login,Certificate,我有一个客户机/服务器应用程序,它在一台服务器上有多台客户机和一项服务 在服务器端,我将使用Windows服务来托管我的WCF服务。该服务将通过internet将数据传递到客户端计算机。我想我将使用具有消息级安全性的wsHttpBinding,它需要用户名或证书 现在问题来了 -我们不希望用户登录到系统 -客户端计算机上没有Windows身份验证 -我会使用证书,但是,我们每天都有大量的客户端机器,因此在每台机器上手动安装证书不是一个选项(除非它都可以通过代码完成…我是说创建和安装) 有人对如何
在服务器端,我将使用Windows服务来托管我的WCF服务。该服务将通过internet将数据传递到客户端计算机。我想我将使用具有消息级安全性的wsHttpBinding,它需要用户名或证书 现在问题来了 -我们不希望用户登录到系统 -客户端计算机上没有Windows身份验证 -我会使用证书,但是,我们每天都有大量的客户端机器,因此在每台机器上手动安装证书不是一个选项(除非它都可以通过代码完成…我是说创建和安装) 有人对如何获得这种服务有什么想法吗?提前谢谢
和平在您的场景中,似乎您正在寻找没有任何安全性的“基本绑定”
<bindings>
<basicHttpBinding>
<binding name="NoSecurity">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
然后将端点配置为使用该绑定配置:
<system.serviceModel>
<services>
<service name="YourNamespace.YourService"
behaviorConfiguration="MyServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="NoSecurity"
contract="YourNamespace.IMyService">
</endpoint>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
还有一篇非常好的文章,从五种不同的典型场景讨论了WCF安全性的基础知识——非常好的阅读!您的场景将是“完全没有安全性”场景
另一篇很好的介绍性文章是Michele Leroux Bustamante的
关于WCF的一套更全面(但也更复杂)的指导可以在on Codeplex上找到
Marc因为您将自己使用应用程序wirtten。您可以将wshttpbinding与用户名和密码身份验证(客户端凭据类型basic)一起使用,其中您的应用程序从配置文件读取用户名和密码 编辑
windows服务可以在用户没有密码的帐户下运行。该服务位于受ACL保护的目录中,因此计算机用户无权访问配置文件。有关basicHttpBinding的简要说明。如果您需要任何WS-*功能,那么您将希望使用wsHttpBinding。basicHttpBinding完全是赤裸裸的,除了简单的SOAP通信之外,它没有提供太多其他功能。如果需要的话,您仍然可以不使用wsHttpBinding的安全性。是的,我阅读了WCF安全博客的基础知识。。。。。英雄联盟实际上我有她的书。。。。。我目前正在使用basicHttpBinding进行测试,但这个解决方案不会让我面临攻击吗?WCF默认加密数据,对吗?但这够了吗?够了吗?取决于您的需求和场景:-)所以正如jrista所指出的“这取决于”-basicHttpBinding就是这样-非常非常基本。如果您想获得更高的安全性,或者可能需要可靠的消息传递等功能,则绝对应该使用wsHttpBinding。wsHttpBinding默认情况下会加密,而不是所有WCF绑定。只要您不需要客户端的任何证明,即证书或用户名/密码组合,也没有Windows凭据-显然,任何人都可以调用您的服务。只要您的服务是以安全的方式编写的,这就意味着任何巨魔都可以向您发送消息,但只能发送您定义的消息。您将使用什么来调用该服务,一个由您开发的点网应用程序?我将在每台机器上使用Windows服务作为客户端。。。。我写的。谢谢设拉子。。。。。那可能正是我想要的。。。。我会调查的。你在这里真的没有什么安全感。。。在这些机器上的任何人都可以获得此配置文件。你最好只加密,只允许雅虎向你发送数据。用这种方法,你基本上要防止这种情况发生。至少通过一些加密,从你的其他客户那里来回飞来飞去的数据是看不见的。90%成功的公司黑客攻击都是由上述公司的员工完成的。是的,安德森,你是对的,我正在研究使用这种方法:这是一种服务证书,客户的配置文件中只包含findValue。。。但是有没有办法创建自己的永久证书。。。。。或者你只能创建临时的?