我正在运行 RavenDB server build 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() 方法使用管理员组中的登录名和密码组合传递身份验证来使其工作。这是执行此操作的代码行
SiteDocumentStore.DatabaseCommands
.With(new NetworkCredential("login", "password", "domain"))
.GetAttachment(attachment_key);
所以我的问题是,如何使用 GetAttachment() 方法而不必使用 With() 并传入登录凭据?DocumentStore 已经拥有 ApiKey,它可以将它用于所有其他命令,而无需执行任何特殊操作。事实上,PutAttachment() 方法无需使用 With() 方法就可以工作,那么为什么 GetAttachment() 不能呢?这是疏忽还是错误?还是有什么我没有得到的?