LDAP 身份验证不适用于 websvn
Posted
技术标签:
【中文标题】LDAP 身份验证不适用于 websvn【英文标题】:LDAP auth not working with websvn 【发布时间】:2013-02-28 07:01:31 【问题描述】:我的设置如下: 带有 SVN 1.5.6 和 WebSVN 2.3.3 的 Win7(32 位)桌面上的 Apache 2.2.21。
当我使用 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 配置文件使用时才生效,而不是?
【问题讨论】:
LDAP Authentication not enforced with certain URLs running websvn的可能重复 叹息,我在做什么......是的,这是重复的。有什么办法可以消除这个问题? 有什么特殊的原因要删除吗?就这样吧。 【参考方案1】:Directory 指令必须与文件系统上的目录的完整路径相匹配:
http://httpd.apache.org/docs/2.2/mod/core.html#directory
因此,由于您的 C: 驱动器的根目录中没有 /websvn 目录,因此该指令不匹配且未配置 LDAP 身份验证。
【讨论】:
您需要更多帮助吗?如果我的回答解决了您的问题,请接受。以上是关于LDAP 身份验证不适用于 websvn的主要内容,如果未能解决你的问题,请参考以下文章
基本身份验证用户名中的特殊字符不适用于 Chrome,但适用于 IE 和 Firefox
Apache Shiro - 用于身份验证和属性的 LDAP/用于授权的 Ini