使用RavenDB客户端API发送客户端证书

时间:2016-05-12 21:12:56

标签: .net httpclient ravendb client-certificates ravendb-http

我的团队正在开发一个.NET Web应用程序,它将运行在多个Windows服务器上,我们希望使用RavenDB来实现持久性。我们的客户要求用户访问RavenDB管理页面将要求用户提供有效的客户端证书进行身份验证。我们计划运行在IIS和configure IIS to require a client certificate for access to the website上托管的RavenDB,它要求RavenDB的所有请求都使用有效的客户端证书。

通常在.NET中将客户端证书附加到http请求can be done with HttpClient simply by adding an X509Certificate to a WebRequestHandler and passing that to the HTTPClient constructor,我可以看到Raven.Client DocumentSession代码uses HttpClient in its code,但我没有看到任何使用Raven的方法。客户端API在创建和使用DocumentStore或DocumentSession将数据保存到RavenDB时将客户端证书附加到我的请求。

有没有什么好方法可以使用RavenDB客户端API代码发送客户端证书来验证我的请求?

1 个答案:

答案 0 :(得分:2)

是的,您可以使用ConfigureRequest事件执行此操作,请参阅: https://github.com/ayende/ravendb/blob/v3.5/Raven.Client.WinRT/Connection/HttpJsonRequestFactory.cs#L28

可以从docuemntStore.JsonRequestFactory.ConfigureRequest

访问