使用SSL和证书的SVNKit身份验证

时间:2012-10-18 04:33:38

标签: java svn svnkit

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

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

但是使用我在维基中看到的代码,它说的是这样的东西,但这并不容易。

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

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

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

1 个答案:

答案 0 :(得分:3)

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

ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager();

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

如果您希望auth manager从控制台请求密码/密钥,请查看SVNCommandEnvironment#createClientAuthenticationManager实施。

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

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

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