2

我的团队正在开发一个跨多个 Windows 服务器运行的 .NET Web 应用程序,我们希望使用 RavenDB 来实现持久性。我们的客户要求用户访问 RavenDB 管理页面将要求用户提供有效的客户端证书以进行身份​​验证。我们计划运行托管在 IIS 上的 RavenDB,并将 IIS配置为需要客户端证书才能访问网站,这需要对 RavenDB 的所有请求都使用有效的客户端证书。

通常在 .NET 中,将客户端证书附加到 http 请求可以使用 HttpClient 完成,只需将 X509Certificate 添加到 WebRequestHandler 并将其传递给 HTTPClient 构造函数,我可以看到 Raven.Client DocumentSession 代码在其代码中使用 HttpClient但是在创建和使用 DocumentStore 或 DocumentSession 将数据保存到 RavenDB 时,我没有看到任何使用 Raven.Client API 将客户端证书附加到我的请求的方法。

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

4

1 回答 1

2

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

这可以从docuemntStore.JsonRequestFactory.ConfigureRequest

于 2016-05-13T11:52:30.850 回答