wcf - 安全的 WCF 服务,除了 SSL 协议(protocol)之外还需要什么样的身份验证?

标签 wcf security authentication ssl service

我有一台带有 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/

相关文章:

c# - 为什么从 WCF 服务返回数据集或数据表不是一个好的做法?什么是替代品?

javascript - 为什么 WCF 服务无法在托管服务器上运行?

security - system() 与 execve()

php - 无法使用 WP REST API 2.0 插件通过基本身份验证进行身份验证

python - 如何在python中使用回调函数?

wcf - WCF异常-未提供客户端证书

javascript - Angular JS 应用程序 POST.Success 不是 Wcf REST 服务的功能

security - 为什么 CPU 推测执行不会导致 OOB 程序崩溃?

security - 防止移动 API 客户端身份盗用

authentication - 如何区分 Microsoft MSA 和 AAD 帐户