我正在使用 WebSVN 2.3.3 和 Subversion 1.5.6 在我的 32 位 Win7 桌面上运行 Apache 服务器 (2.2.21)。
这是问题所在:
如果我要导航到http://myservername/websvn
,将强制执行 LDAP 身份验证,并且只有我在配置文件中允许的用户才能访问它。但是,如果我要导航到http://myservername/WebSvn
or/Websvn
甚至/webSVN
,您就会明白,LDAP 身份验证不会被强制执行,它们允许任何用户,即使是那些未在配置文件中指定的用户,进入相同的 websvn 页面。
那么,我该如何解决这个问题呢?
更新:这是我的 websvn.conf 文件。出于安全原因,我已将其更改为适合此处的帖子。通过在文件末尾附近httpd.conf
插入 ' '在文件中调用此特定文件。Include C:/somehwere/websvn.conf
<Location /websvn/>
#Redirect any requests to this page to the listing.php
FallbackResource listing.php
AuthLDAPBindDN "acct@xxx.com"
AuthLDAPBindPassword "password"
#The LDAP query URL
AuthLDAPURL "ldap://x.x.x.x.x.x:389/DC=x,DC=x,DC=x,DC=x,DC=x?sAMAccountName?sub?(objectClass=user)" NONE
AuthType Basic
AuthName "Websvn"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthUserFile /dev/null
Require ldap-user user1
</Location>
2013 年 7 月 2 日更新:我被告知应该使用而不是,我已经这样做了。Apache文档详细介绍了“何时使用什么”部分之间的区别,尤其是在“什么时候使用”部分。因此,我修改了 websvn.conv 文件以反映这一点:
<Directory /websvn>
DirectoryIndex listing.php
Options FollowSymLinks
Order allow,deny
Allow from all
AuthLDAPBindDN "acct@xxx.com"
AuthLDAPBindPassword "password"
#The LDAP query URL
AuthLDAPURL "ldap://x.x.x.x.x.x:389/DC=x,DC=x,DC=x,DC=x,DC=x?sAMAccountName?sub?(objectClass=user)" NONE
AuthType Basic
AuthName "Websvn"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
Require ldap-user user1
</Directory>
但是,即使使用不正确的 URL,我仍然可以访问我的 websvn,例如./websVn,此外,身份验证不再启动。
此外,页面listing.php 不显示。而是显示 websvn 的目录列表。
谁能指出我做错了什么?谢谢你。