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的主要内容,如果未能解决你的问题,请参考以下文章

Ldap 身份验证不适用于 Spring Boot

WebSVN - 存储库中路径的身份验证

基本身份验证用户名中的特殊字符不适用于 Chrome,但适用于 IE 和 Firefox

Apache Shiro - 用于身份验证和属性的 LDAP/用于授权的 Ini

用于身份验证的 Grails Spring Security X509 和用于权限的 LDAP

基于 SAML 的 SSO 用于身份验证和 LDAP 用于授权 - Spring Boot Security