带身份验证的RavenDB附件

时间:2012-12-19 19:55:11

标签: ravendb

我正在运行RavenDB服务器版本2174,并在Raven.Server.exe.config文件中添加了以下行:

<add key="Raven/Authorization/Windows/RequiredGroups" value="localhost\Administrators"/>
<add key="Raven/AnonymousAccess" value="None"/>

我还设置了一个ApiKey,我的应用程序使用它来与RavenDB服务器和数据库进行交互。 ApiKey已被授予我正在使用的数据库的管理员权限(选中管理员复选框)。

通过上面给出的配置,我尝试使用DatabaseCommands.GetAttachment()方法从RavenDB数据库加载附件。每当我这样做时,我都会收到401(未经授权)的回复。我已经能够通过使用DatabaseCommands对象上的With()方法使用Administrators组中的登录名和密码组合来传递身份验证。以下是执行此操作的代码行

SiteDocumentStore.DatabaseCommands
                 .With(new NetworkCredential("login", "password", "domain"))
                 .GetAttachment(attachment_key);  

所以我的问题是,如何在不使用With()并传入登录凭据的情况下使用GetAttachment()方法? DocumentStore已经有了ApiKey,它可以将它用于所有其他命令而无需做任何特殊操作。实际上PutAttachment()方法无需使用With()方法即可工作,那么为什么不能使用GetAttachment()?这是疏忽还是错误?或者有什么东西我只是没有得到?

1 个答案:

答案 0 :(得分:0)

当您使用登录/通过时,您没有使用Api密钥,它应该自动使用正确的Api密钥进行身份验证。 我们刚刚发现在某些情况下使用Api Keys的错误,请等待下一个版本(2176),这应该解决它。