4

SVNKit 中的新手。我很难弄清楚如何在我的 svn 存储库中进行身份验证。

基本上,当我使用命令行 SVN 代码连接到我的存储库时,它会告诉我接受一些证书并请求我的用户名和密码。它也使用https。

但是使用我从 wiki 看到的代码,它说的是这样的,但这并不容易。

ISVNAuthenticationManager authManager =
  SVNWCUtil.createDefaultAuthenticationManager(name, password);

我在某处阅读了有关创建您自己的身份验证提供程序的信息,但似乎找不到足够的代码来告诉我这是如何完成的。

如何使用 SSL 和证书对 svn 存储库进行身份验证?

4

1 回答 1

3

这取决于您的目的,您可以创建默认的身份验证管理器:

ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager();

它使用~/.svn/目录中的设置。

如果您希望身份验证管理器从控制台询问密码/密钥,请查看SVNCommandEnvironment#createClientAuthenticationManager实现。

但是您也可以通过仅枚举凭据来创建最简单的身份验证管理器(~/.svn/此选项不需要目录):

ISVNAuthenticationManager authManager = new 
    BasicAuthenticationManager(new SVNAuthentication[] {authentication1, authentication2, ...});

所以您只需将SVNSSLAuthentication实例(包含正确的证书文件和密码)作为数组元素之一传递。SVNKit 将尝试这些身份验证直到成功。

于 2012-10-18T11:31:29.363 回答