1

我想对尝试使用我的 SS Web 服务的用户进行身份验证。我找到了示例代码并遵循了 PLURALSIGHT 教程,但我想知道在第一次连接期间使用的用户/密码是否被加密或网络上的某些东西?

在这个时候,我们曾经用证书来保护我们的 WCF,但那是一个真正的痛苦!同时在每个 WS 上传递用户/密码是安全故障。

SS 如何管理认证参数的安全性?我可以这样使用它而不用担心可能的安全故障吗?

4

3 回答 3

2

ServiceStack只是一个标准的 ASP.NET 或 HttpListener Web 应用程序。在任何 Web 应用程序中加密 HTTP 流量的标准方法是通过 https 调用您的服务。HTTPS 在您的 ServiceStack 服务(即 Web 应用程序层)之外启用/配置,因此在启用 SSL 时,ServiceStack 本身不需要任何特别注意。

在 ServiceStack 上设置 HTTPS 与任何其他 IIS/ASP.NET 或 HttpListener 应用程序相同。在这两种情况下,HTTPS 都是在 Web服务器/主机级别(例如 IIS)而不是在您的 Web 应用程序(例如 ServiceStack)中启用的传输层安全 (TLS)协议。因此,在寻求如何启用 SSL 时,您应该查看如何在 WebServer 主机级别启用它,例如 IIS、Nginx、HttpListener 等(而不是 ServiceStack)。

例如,如果您将 ServiceStack 托管在 ASP.NET 主机中,那么在 Google 上简单地搜索 IIS SSL将提供大量的说明和类似这样的演练。如果您将 ServiceStack 托管在自托管 HTTP 侦听器中,请改为查看此答案

于 2013-01-08T02:42:47.100 回答
2

凭证将以纯文本形式发送,您需要为身份验证流量配置 SSL。

于 2013-01-07T18:54:04.027 回答
0

如果您的服务正在企业环境中使用并且您有 AD,则可以考虑使用 WSHttpSecurity 绑定和绑定配置集以使用 Windows 凭据。这可以消除证书的使用。如果你的服务是跨企业的,而且你没有AD,你就得做证书

如果您使用的是 Windows 凭据类型,这里有一个示例配置

<security mode="Transport">
   <message clientCredentialType="Windows" />
</security>
于 2013-01-07T23:26:14.603 回答