我想验证用户尝试使用我的SS网络服务。我找到了示例代码,并按照PLURALSIGHT教程进行了操作,但我想知道在第一次连接时使用的用户/密码是加密的还是网络上的东西?
此时我们曾经用证书确保我们的WCF,但这真的很痛苦!并且同时在每个WS上传递用户/密码是安全故障。
SS如何管理身份验证参数的安全性?我可以像这样使用它而不用担心安全性失败吗?
答案 0 :(得分:2)
凭据将以纯文本格式发送,并且您应该为身份验证流量配置SSL。
答案 1 :(得分:2)
ServiceStack只是一个标准的ASP.NET或HttpListener Web应用程序。在任何Web应用程序中加密HTTP流量的标准方法是通过https调用您的服务。 HTTPS在ServiceStack服务(即Web应用程序层)之外启用/配置,因此启用SSL时ServiceStack本身不需要特别注意。
在ServiceStack上设置HTTPS与任何其他IIS / ASP.NET或HttpListener应用程序相同。在这两种情况下,HTTPS都是transport layer security (TLS)协议,在WebServer / Host级别(例如IIS)和Web应用程序中的不(例如ServiceStack)中启用。因此,在寻求如何启用SSL时,您应该了解如何在WebServer主机级别启用它,例如IIS,Nginx,HttpListener等(而不是ServiceStack)。
E.g。如果您在ASP.NET主机中托管了ServiceStack,那么对IIS SSL on Google的简单搜索将提供大量说明并逐步完成like this one。如果您已在自托管HTTP侦听器中托管ServiceStack see this answer instead。
答案 2 :(得分:0)
如果您的服务正在企业环境中使用,并且您有AD,则可以考虑使用绑定配置集的WSHttpSecurity绑定来使用Windows凭据。这可以消除证书的使用。如果您的服务是跨企业的,而您没有AD,则必须提供证书
如果您正在使用Windows凭据类型,请参阅示例配置
<security mode="Transport">
<message clientCredentialType="Windows" />
</security>