2013-01-07 45 views
1

我想驗證用戶試圖使用我的SS Web服務。我找到了示例代碼並遵循了PLURALSIGHT教程,但是我想知道在第一次連接期間使用的用戶/密碼是加密的還是網絡上的某些內容?ServiceStack:BasicAuth和安全

在這個時候我們用來確保我們的WCF證書,但這是一個真正的痛苦!同時在每個WS上傳遞用戶/密碼都是安全失敗。

SS如何管理認證參數的安全性?我可以像這樣使用它,而不必擔心可能的安全失敗嗎?

+0

使用網絡分析儀顯示'user'和'pwd'嗎? – kilroyFR

回答

2

憑證將以純文本形式發送,並且您希望爲認證通信配置SSL。

+0

任何想法如何輕鬆地把這個地方? 我是SSL新手 – kilroyFR

0

如果您的服務正在企業環境中使用,並且您有AD,則可以考慮使用WSHttpSecurity綁定,並將綁定配置設置爲使用Windows憑據。這可以消除證書的使用。如果您的服務是跨企業,你沒有AD,你將不得不做證書

如果你正在做的Windows憑據類型,這裏是一個示例配置

<security mode="Transport"> 
    <message clientCredentialType="Windows" /> 
</security> 
2

ServiceStack僅僅是一個標準的ASP.NET或HttpListener Web應用程序。在任何Web應用程序中加密HTTP流量的標準方法是通過https調用您的服務。在您的ServiceStack服務(即Web應用程序層)之外啓用/配置HTTPS,因此ServiceStack本身在啓用SSL時不需要特別注意。

在ServiceStack上設置HTTPS與任何其他IIS/ASP.NET或HttpListener應用程序相同。在這兩種情況下,HTTPS都是transport layer security (TLS)協議,在Web應用程序(例如ServiceStack)的Web服務器/主機級別(例如IIS)和而不是處啓用。因此,在尋求如何啓用SSL時,應該考慮如何在WebServer主機級別啓用SSL。 IIS,Nginx,HttpListener等(而不是ServiceStack)。

E.g.如果您已將ServiceStack託管在ASP.NET主機中,那麼只需簡單搜索IIS SSL on Google即可提供大量指令,並可通過like this one。如果您已將ServiceStack託管在自託管的HTTP偵聽器中,請撥打see this answer instead