1

我的设置如下:Win7(32 位)桌面上的 Apache 2.2.21,带有 SVN 1.5.6 和 WebSVN 2.3.3。

当我使用 websvn.conf 文件中的这些设置浏览到我的 websvn 页面时,LDAP 身份验证不会启动,

Alias /websvn/ "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/websvn/"

<Directory /websvn/>
Options FollowSymLinks
CheckCaseOnly on

#Redirect any requests to this page to the page u want
FallbackResource  listing.php

Order allow,deny
Allow from all

<IfModule mod_php4.c>
    php_flag magic_quotes_gpc Off
    php_flag track_vars On
</IfModule>

#Valid NIE account to access nie ldap. Recommended to have only read-only rights
AuthLDAPBindDN "user001@somewhere.com"
AuthLDAPBindPassword "password"

#The LDAP query URL
AuthLDAPURL "ldap://xxx:389/DC=x,DC=x,DC=x,DC=x,DC=x?sAMAccountName?sub?(objectClass=user)" NONE

AuthType Basic
AuthName "Websvn DIR"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off  

Require ldap-user user
</Directory>

但是,如果将 websvn.conf 文件更改为此,LDAP 身份验证就会启动,

<Location /websvn/> 
Options FollowSymLinks
CheckCaseOnly on

FallbackResource listing.php

Order allow,deny
Allow from all

<IfModule mod_php4.c>
    php_flag magic_quotes_gpc Off
    php_flag track_vars On
</IfModule>


AuthLDAPBindDN "user001@somewhere.com"
AuthLDAPBindPassword "password"

#The LDAP query URL
AuthLDAPURL "ldap://xxx:389/DC=x,DC=x,DC=x,DC=x,DC=x?sAMAccountName?sub?(objectClass=user)" NONE

AuthType Basic
AuthName "Websvn Loc"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off  

Require ldap-user user
</Location>

所以,我的问题是为什么会发生这种情况?为什么 LDAP auth 仅在 websvn 配置文件使用而不是时才启动?

4

1 回答 1

0

Directory 指令必须与文件系统上的目录的完整路径相匹配:

http://httpd.apache.org/docs/2.2/mod/core.html#directory

因此,因为您的 C: 驱动器的根目录中没有 /websvn 目录,所以该指令不匹配并且不配置 LDAP 身份验证。

于 2013-04-08T21:33:32.143 回答