使用C#以编程方式添加新的subversion用户

Mah*_*ood 7 c# svn asp.net

我正在使用C#/ ASP.NET和SVNKit(使用IKVM.NET转换为.NET程序集)为Subversion存储库开发自定义Web界面浏览器.是否有任何干净的方法来使用C#代码在本地添加新的subversion用户(由管理员添加)?

cbe*_*ski 4

我不能提供 C#,但我怀疑实现语言对事物有任何影响。您所需要做的就是读取/写入文本文件。对配置文件的更改会立即发生(与 Apache 不同)。非常不是复杂。

如果您弹出存储库(而不是工作副本)中的 conf 文件夹,您将找到三个文件:

  • svnserve.conf
  • 授权
  • 密码

svnserve.conf 控制存储库的身份验证文件(passwd),默认情况下禁用。要激活基于帐户的身份验证,您只需取消注释 .conf 中如下所示的行:

password-db = passwd
Run Code Online (Sandbox Code Playgroud)

您可能还需要调整:

anon-access = none
auth-access = write
Run Code Online (Sandbox Code Playgroud)

正如配置文件中的注释所示,您可以指定外部文件的路径。这可能就是您所说的“干净”的调整方式。只需将您的 passwd 文件放在存储库之外,并更改存储库的 svnserve.conf 以明确指向它。使用此技术,您可以控制从单个 passwd 文件对多个存储库的访问。例如:

password-db = /home/user/svn-users.conf
Run Code Online (Sandbox Code Playgroud)

密码文件本身如下所示:

[users]
user1 = user1pass
user2 = user2pass
Run Code Online (Sandbox Code Playgroud)

默认文件中的注释应该非常清楚地说明如何启动和运行,但如果您需要更多信息,TortoiseSVN 手册有一个出色的服务器设置指南。(还有SVN Redbean 的书,但我发现 Tortoise 更清晰一些。)