我有一台带有 SSL 证书的服务器,我想实现一个带有用户名身份验证的 WCF 服务。谁能给我指出一个简单的当前示例?
我发现很多使用 509 证书的,但我不明白为什么需要额外的部分。我认为我也不想将我拥有的 SSL 证书提供给客户端。
我认为使用 SSL 只是通过 wshttpbinding 适本地设置 web.config 并在调用服务的 uri 中使用 https:。
在这种情况下,我将只有一两个用户(实际上是客户端的应用程序)需要使用该服务,因此我看不到为存储大量登录凭据或类似内容构建数据库的开销那。我读过您可以在请求 header 中传递凭据。我希望我可以让服务本身检查它们而不会产生大量开销。
我真的很想知道一个简单的身份验证如何用于服务,但我知道除了服务被 SSL 加密之外我还需要一些东西。
编辑:嗯,在阅读更多内容后,我得到的印象是,对消息使用 https 绑定(bind)可以绕过任何用户名凭据的概念,而证书不会有任何神秘的东西。我希望此时我没有在服务器的 ssl 证书上浪费钱。
是否可以使用请求者的 IP 仅允许已知客户端的服务?
最佳答案
如果你只需要几个用户,那么使用内置的 Windows authentication - 创建 Windows 用户帐户,在您的绑定(bind)配置中放置正确的安全选项,您就完成了。如果您从非 Windows 客户端使用 SOAP,则必须执行一些技巧以使其正确通信(通常我们发现从 PHP 客户端使用 NTLM 身份验证需要使用 curl 而不是 PHP SOAP 客户端库,但我请理解,如果您使用 AD 帐户,这将变得容易得多)。
WCF docs为您提供身份验证选项的完整说明。
关于wcf - 安全的 WCF 服务,除了 SSL 协议(protocol)之外还需要什么样的身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16318734/