我在检查svn的存储库时被禁止访问存储库。我已经在新安装的svn服务器中导入了一个现有的存储库。只有用户名和密码正确。请帮助。
如果我从浏览器访问url然后得到下面的错误。被禁止的您没有访问该资源的权限
'VisualSVN Server'事件日志中的错误:
加载AuthzVisualSVNSubversionReposRelativeAccessFile: An失败Authz规则指向组'admin',这是未定义的
您需要为您的用户帐户添加访问导入存储库的权限。拥有一个帐户并知道其密码是不够的。您需要授予该帐户访问您的存储库或项目的权限。
您需要遵循以下步骤:
- 启动VisualSVN Server Manager控制台, 展开Repositories节点,右键单击存储库并单击属性。
- 单击"安全"选项卡。
- 在Security选项卡上配置用户帐户的权限,然后单击Apply。
注意,你也可以使用PowerShell来配置权限。
有关更多信息,请参阅文章KB33:理解VisualSVN服务器授权。
PS如果这些步骤没有帮助,那么您需要在Windows事件查看器中检查'VisualSVN Server'事件日志。你看到错误了吗?
Update # 1
所以我们已经在日志中找到了实际的错误信息:
加载AuthzVisualSVNSubversionReposRelativeAccessFile: An失败Authz规则指向组'admin',这是未定义的
似乎在文件path-to-repository-on-diskconfVisualSVN-SvnAuthz.ini
(例如,D:RepositoriesMyRepoconfVisualSVN-SvnAuthz.ini
)中存在对不存在的组的引用。
可能原因:
您正在从另一个VisualSVN服务器实例迁移存储库,并且您没有复制
groups.conf
文件(例如,D:Repositoriesgroups.conf
)。文件groups.conf
包含用于独立Subversion身份验证模式的组列表。已授予权限的组必须存在于文件中。您以某种方式手动将不存在的组添加到
VisualSVN-SvnAuthz.ini
文件中。也许您再次从某处复制了该文件,而没有复制其他配置文件,或者您使用notepad.exe将这行添加到authz文件中。
要解决这个问题,您可以从以下两个不同的选项中选择:
选项:删除
VisualSVN-SvnAuthz.ini
文件,使用VisualSVN Server Manager重新配置权限。选项B:如果要从另一个VisualSVN Server安装迁移存储库,请确保将
groups.conf
和htpasswd
文件复制到新服务器上的D: repositories目录中。第一个文件包含组帐户并描述其成员。第二个文件包含用户帐户名和密码哈希值。
无论哪种情况,您都需要在解决错误后检查存储库权限。