我有一个 VisualSVN Server安装在 Windows 服务器上,服务于多个存储库。
由于内置于 VisualSVN 服务器的 Web 查看器是一个简约的颠覆浏览器,我想安装 WebSVN在我的存储库之上。
但是,问题是我似乎无法进行身份验证。理想情况下,我希望 VisualSVN 中指定的当前存储库身份验证能够与 WebSVN 一起使用,这样虽然我在 WebSVN 中看到了所有存储库名称,但如果没有正确的凭据,我实际上无法浏览它们。
通过访问 this google query 上最顶层链接的缓存副本你可以看到我到目前为止发现的看起来很有希望的东西。
(博客主页面似乎已经被破坏,我指的最顶层页面的域名是the-wizzard.de)
在那里我发现了一些可以添加到 WebSVN 中的 php 文件之一的 php 函数。我在那里进行了修改,但我所做的只是让 WebSVN 要求我输入用户名和密码,无论我输入什么,它都不会让我进入。
不幸的是,php 和 apache 对我来说很大程度上是黑魔法。
那么,有没有人成功地将 WebSVN 与 VisualSVN 托管存储库集成在一起?
最佳答案
我使用 VisualSVN 服务器获得了 WebSVN 身份验证,尽管我自己进行了大量的黑客攻击/试错定制。
这是我的做法:
如果您还没有安装 PHP,请下载 zip 文件并阅读在线 php 手动安装说明来手动安装 PHP。我把PHP安装到C:\PHP
解压websvn文件夹到C:\Program Files\VisualSVN Server\htdocs\
完成配置 websvn 目录的步骤,即将 configdist.php 重命名为 config 等。我的存储库位于 C:\SVNRepositories,因此要配置身份验证文件,我设置了 config.php 行所以:$config->useAuthenticationFile('C:/SVNRepositories/authz');//全局访问文件
将以下内容添加到 C:\Program Files\VisualSVN Server\conf\httpd-custom.conf :
# For PHP 5 do something like this: LoadModule php5_module "c:/php/php5apache2_2.dll" AddType application/x-httpd-php .php # configure the path to php.ini PHPIniDir "C:/php" <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> <Location /websvn/> Options FollowSymLinks AuthType Basic AuthName "Subversion Repository" Require valid-user AuthUserFile "C:/SVNRepositories/htpasswd" AuthzSVNAccessFile "C:/SVNRepositories/authz" SVNListParentPath on SVNParentPath "C:/SVNRepositories/" </Location>
这对我有用,websvn 只会显示给定用户授权的那些目录。请注意,为了使其正常工作,您必须向所有人提供“主级别”访问权限,然后禁用某些用户对某些子目录的访问权限。例如,我有一个用户没有主级别访问权限,但可以访问子级别。不幸的是,这个人在 websvn 中看不到任何东西,即使他直接链接到 filedetails.php 以获得他有权查看的文件。就我而言,这没什么大不了的,因为无论如何我都不希望他访问 websvn,但这是你想知道的事情。
另外,这会为服务器设置一个 ssl 连接,所以一旦你设置好了,地址将是 https://地址,而不是常规的 http://。
关于php - 带有 VisualSVN Server 的 WebSVN,有人获得了工作身份验证吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17681/