SVN Edge(版本 4.0.10-3880.131)无法与域控制器正确进行身份验证。
我已经设置了 SVN Edge,当我使用 LDAP 安全级别 NONE 时,它可以完美运行。
但是,当设置为 SSL、TLS 或 STARTTLS 时。使用活动目录帐户登录时,我收到错误的用户名/密码错误。请参阅以下配置:
日志文件显示:
2015-11-10 10:17:07,113 [qtp1791392392-61] WARN security.CsvnAuthenticationProvider - Authentication against Apache failed
码头日志:
127.0.0.1 - - [10/Nov/2015:10:16:58 -0700] "GET /csvn/login/auth HTTP/1.1" 200 6616
127.0.0.1 - - [10/Nov/2015:10:17:07 -0700] "POST /csvn/j_spring_security_check HTTP/1.1" 302 0
127.0.0.1 - - [10/Nov/2015:10:17:07 -0700] "GET /csvn/login/authfail?login_error=1 HTTP/1.1" 302 0
127.0.0.1 - - [10/Nov/2015:10:17:07 -0700] "GET /csvn/login/auth?login_error=1 HTTP/1.1" 200 6751
127.0.0.1 - - [10/Nov/2015:10:17:15 -0700] "POST /csvn/j_spring_security_check HTTP/1.1" 302 0
127.0.0.1 - - [10/Nov/2015:10:17:15 -0700] "GET /csvn/login/authfail?login_error=1 HTTP/1.1" 302 0
127.0.0.1 - - [10/Nov/2015:10:17:15 -0700] "GET /csvn/login/auth?login_error=1 HTTP/1.1" 200 6754
127.0.0.1 - - [10/Nov/2015:10:18:03 -0700] "POST /csvn/j_spring_security_check HTTP/1.1" 302 0
127.0.0.1 - - [10/Nov/2015:10:18:03 -0700] "GET /csvn/login/authfail?login_error=1 HTTP/1.1" 302 0
127.0.0.1 - - [10/Nov/2015:10:18:03 -0700] "GET /csvn/login/auth?login_error=1 HTTP/1.1" 200 6749
127.0.0.1 - - [10/Nov/2015:10:20:39 -0700] "GET /csvn/log/list?sort=date&order=desc HTTP/1.1" 200 16811
127.0.0.1 - - [10/Nov/2015:10:21:02 -0700] "GET /csvn/images/sort_desc.png HTTP/1.1" 200 1127
同样,如果不启用 LDAP 安全,所有 AD 帐户都可以成功登录。我假设我错误地设置了 SVN Edge,有什么想法我应该更改吗?
撞
答案1
有点晚了。我认为您可能需要与 LDAP 管理员交谈,检查 AD 服务器是否支持 SSL 和 TLS,或 STARTTLS 端口。您可以使用lpd 工具或者AD探索者确保所需端口已打开并能够连接到 LDAP 服务器。然后,您可以使用命令行 openssl 并尝试命令
openssl s_client -connect yourADserver:yourADSErversecure port -tls1_2
检查您是否可以使用特定的 TLS 协议连接它。我的示例使用 TLS 1.2 协议。我能够使用设置 STARTTLS 选择来使它工作。
还有一件事,请检查 Subversion Edge 安装目录中 conf 目录下的文件 svn_viewvc_http.conf,其中包含系统生成的 LDAP 设置。祝你好运!
答案2
我发现,一旦我更改为 SSL 或 TLS,就必须将 LDAP 服务器端口从默认的 3268(在我的情况下是 389)更改。我还需要 LDAP 绑定 DN 和密码,但 NONE 安全级别设置可能也是如此。[顺便说一下,Subversion Edge 版本 5.1.4,以防万一]