RavenDB 3.5 Windows服务:配置仅特定用户访问Studio未生效,求排查
你已经做了基础的权限配置,但可能漏掉了几个关键环节,我帮你逐一排查:
务必启用Windows身份验证:你当前只配置了允许的用户和禁用匿名访问,但RavenDB 3.5默认并未开启Windows账号验证功能。需要在
Raven.Server.exe.config中添加这一行核心配置:<add key="Raven/Authorization/Windows/Enabled" value="true"/>没有开启这个开关的话,后续的用户限制规则根本不会生效。
检查用户账户的完整格式:
Raven/Authorization/Windows/RequiredUsers的值不能只写用户名,必须是完整的Windows账户标识符。如果是本地账户,格式为你的机器名\ravendb;如果是域账户,则是域名\ravendb。比如你的机器名为WIN-DEMO123,配置应该写成:<add key="Raven/Authorization/Windows/RequiredUsers" value="WIN-DEMO123\ravendb"/>只写
ravendb的话,RavenDB无法正确匹配到对应的Windows账户,自然不会触发访问限制。确认配置文件的有效性:确保你修改的是RavenDB服务实际加载的配置文件——作为Windows服务运行时,配置文件位于RavenDB的安装目录下(比如
C:\RavenDB\Raven.Server.exe.config),而非其他副本文件。修改完成后一定要重启RavenDB服务,让新配置生效。验证权限生效情况:重启服务后,尝试用非
ravendb的账户访问Studio,此时应该会弹出Windows身份验证窗口,输入错误账号会被拒绝;使用ravendb账户登录则能正常访问。如果仍有问题,可以查看安装目录下Logs文件夹中的日志文件,里面会记录身份验证相关的错误信息,帮你进一步定位问题。
内容的提问来源于stack exchange,提问作者user1765862

