Apache 500内部服务器使用空的用户名字段进行authz_svn_module身份validation时出错

我的环境

  • Apache 2.2
  • Windows Server 2008 R2(我也有与Windows 7相同的问题)
  • 乌龟SVN 1.8.7 Subversion 1.8.9

我有这个SVN服务器使用Apache使用authz_svn_module及其依赖项(mod_dav_svn.so等)与Active Directory进行身份validation。 身份validation部分正常工作正常,但如果我将字段用户名留空,则会生成500内部服务器错误。

如果我尝试从Web浏览器login或者尝试执行svn结帐 ,问题就会发生

它不会在Apache logs / error.log文件中生成条目,但会在logs / access.log文件中留下条目:

 xxxx  - “”[12 / Aug / 2014:11:00:10 -0300]“GET / svn / HTTP / 1.1”500 550

而不是当我input无效的用户名/密码时:

 xxxx  -  invalidu1 [12 / Aug / 2014:10:11:03 -0300]“GET / svn / HTTP / 1.1”401 401

我也注意到,500错误来自我的AD服务器,而不是从127.0.0.1。 有一台Linux服务器针对同一个AD服务器对其SVN服务器进行authentication,并没有这个问题。

这是一个已知的错误? 如果没有,是否有一种方法可以在用户身份validation之前validation空的用户名字段?

我的httpd.conf SVN条目如下所示:

    
     DAV svn

     SVNPath G:/ mypath / to / svn /
     SVNIndexXSLT“/svnindex.xsl”
     AuthType基本
     AuthBasicProvider ldap文件



     AuthzSVNAccessFile G:\ svn \ svn_projects_permissions

     #保护区名称或“realm”
     AuthName“SVN项目”


     #活动目录需要validationDN才能访问logging

     AuthLDAPBindDN“CN = a,OU = b,OU = c,OU = d,DC = e,DC = f,DC = com”

     #这是Active Directory中AuthLDAPBindDN用户的密码


     AuthLDAPBindPassword“abcdefgijkl”

     #LDAP查询url

     #AuthLDAPURL“ldap://abcdef.gh.com/OU=COLAB,DC=c,DC=com?sAMAccountName?sub?(objectClass = *)”

     AuthLDAPURL“ldap://123.45.678.29/OU=abc,OU=dfe,DC=ghij,DC=ab-group,DC=com?sAMAccountName?sub?(objectClass = *)”

    要求有效的用户

     AuthUserFile“G:\ svn \ svn_projects_passwords”