如何爲HTTPS傳輸配置wcf web api服務? 有誰知道這會在最終版本中發生多大的變化,因爲這是他們說會改變的領域之一?WCF Web API安全
3
A
回答
6
要支持HTTPS,您需要啓用HttpBinding上的傳輸安全性。
public class HypertextTransferProtocolSecureServiceHostFactory : HttpConfigurableServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
var configurationBuilder = HttpHostConfiguration.Create();
var host = new HttpConfigurableServiceHost(serviceType, configurationBuilder, baseAddresses);
foreach (var endpoint in host.Description.Endpoints.Where(e => e.ListenUri.Scheme == "https"))
{
var binding = endpoint.Binding as HttpBinding;
if (binding != null)
{
binding.Security.Mode = HttpBindingSecurityMode.Transport;
}
}
return host;
}
}
最後HypertextTransferProtocolSecureServiceHostFactory必須添加到RouteTable:這可以通過從HttpConfigurableServiceHostFactory派生並重寫CreateServiceHost這樣做
RouteTable.Routes.Add(new ServiceRoute("routePrefix", new HypertextTransferProtocolSecureServiceHostFactory(), typeof(ServiceType)));
5
在我們最新的下降可以設置沒有結合通過使用HttpConfiguration對象創建一個新的主機。它公開了您可以設置更改安全模式的SetSecurity方法。
+0
Glenn有沒有這個地方的例子?我正在努力重新配置Web API服務以通過https工作。 –
2
這是我從Global.asax的配置,我檢查了URI並使用了正確的模式。在IIS和IIS Express中運行良好。 。 。 。我的目標是基本通過HTTPS,但是IIS快遞保持HTTP URI中的「結合」,除非你處理它,你在無限循環(http://screencast.com/t/kHvM49dl6tP,http://screencast.com/t/5usIEy5jgPdX)得到吸
var config = new HttpConfiguration
{
EnableTestClient = true,
IncludeExceptionDetail = true,
EnableHelpPage = true,
Security = (uri, binding) =>
{
if (uri.Scheme.Equals("https", StringComparison.InvariantCultureIgnoreCase))
binding.Mode = HttpBindingSecurityMode.Transport;
else
binding.Mode = HttpBindingSecurityMode.TransportCredentialOnly;
binding.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
},
CreateInstance = ((t, i, h) => container.Resolve(t))
};
相關問題
- 1. Web API安全
- 2. wcf web api和wcf jquery支持中的安全處理
- 3. mvc wcf安全
- 4. Web API擴展安全
- 5. Web-api安全性:SSL?
- 6. WCF公共Web服務的安全
- 7. Web api 2安全性 - API的關鍵
- 8. Wcf Web APi OData
- 9. WCF傳輸安全
- 10. WCF安全異常
- 11. WCF安全問題
- 12. WCF 4.0安全
- 13. WCF NetTcpBinding安全
- 14. WCF安全 - 數據來源安全
- 15. WCF安全錯誤
- 16. 安全例外WCF
- 17. WCF安全建議
- 18. WCF安全錯誤
- 19. WCF Web API與windsor
- 20. WCF Web Api vs WebHttpBinding
- 21. ssl channel wcf web api?
- 22. WCF REST到web API
- 23. C#WCF Web API + JSONP
- 24. 使用web api的安全實現
- 25. iOS的安全ASP.NET Web API Consumtion
- 26. 保護web-API訪問的安全
- 27. ASP.NET WEB API 2安全建議
- 28. 安全MVC的Web API控制器
- 29. Python中的安全Web編程API
- 30. 使用令牌的安全Web API
非常感謝該hskan: >} – Darth