在公司环境中配置 VisualSVN Server 的时候遇到了一个情况, 就是希望 update 的时候无需输入密码, 而仅仅在提交的时候需要输入密码. 简单的说就是希望支持匿名访问. 但是竟然没有找到相应的设置. 起初以为是把相应 Repository 中的 Everyone 设置为 Read/Write 即可, 结果发现不可行, 仍然会在 update 的时候要求键入帐号密码, 非常的麻烦. 经过百度和 Google, 将最终可行的方案总结如下:
Step 1: 找到 VisualSVN Server 的安装目录, 例如 C:\Program Files\VisualSVN Server
, 找到其中的 \conf\httpd.conf
, 编辑它, 找到这一段:
<Location /svn/>
...
require valid-user
</Location>
将其修改为:
<Location /svn/>
...
Satisfy Any
require valid-user
</Location>
也就是添加 Satisfy Any
字段.
Step 2: 通过 VisualSVN Server Manager, 找到对应的 Repository, 将该仓库的 Properties 中的 Everyone 访问权限设置为 Read Only, 然后其他人的权限仍然保持以前的设置即可.
Step 3: 重启 VisualSVN Server 服务. 此时再次使用 update 功能将不再需要输入帐号密码. 而 commit 的时候仍然会需要密码.
参考链接:
Comments