2010-05-08 15 views
7

Estoy desarrollando un navegador de interfaz web personalizado para repositorios de Subversion con C#/ASP.NET y SVNKit (convertido a ensamblados .NET usando IKVM.NET). ¿Hay alguna forma de limpiar para agregar localmente un nuevo usuario de subversión (que es agregado por el administrador) usando el código C#?Agregar un nuevo usuario de subversión mediante programación con C#

Respuesta

4

No puedo ofrecer C#, pero dudo que el lenguaje de implementación tenga algún impacto en las cosas. Todo lo que necesita hacer es leer/escribir en un archivo de texto. Los cambios en los archivos de configuración tienen lugar inmediatamente (a diferencia de Apache). Es muy no complicado.

Si usted hace estallar en la carpeta conf en su repositorio (no su copia de trabajo) encontrará tres archivos:

  • svnserve.conf
  • authz
  • passwd

svnserve.conf controla el archivo de autenticación del repo (passwd), que está deshabilitado de manera predeterminada. Para activar la autenticación basada en cuenta que simplemente elimina el comentario de la línea en .conf que se parece a:

password-db = passwd 

Usted también probable que desee modificar:

anon-access = none 
auth-access = write 

Como el comentario en las notas de archivo de configuración, puede especificar una ruta a un archivo externo. Esto podría ser lo que quieres decir con una forma "limpia" de modificar cosas. Simplemente coloque su archivo de contraseñas fuera del repositorio y cambie el svnserve.conf del repo para que apunte a él explícitamente. Usando esta técnica puede controlar el acceso a múltiples repositorios desde un solo archivo passwd. Por ejemplo:

password-db = /home/user/svn-users.conf 

El archivo de contraseñas en sí se parece a esto:

[users] 
user1 = user1pass 
user2 = user2pass 

Los comentarios en los archivos por defecto debería ser bastante clara sobre cómo hacer las cosas en marcha y funcionando, pero si quieres más información , el TortoiseSVN manual tiene una excelente guía de configuración del servidor. (También está el SVN Redbean book, pero me pareció un poco más claro Tortuga).

Cuestiones relacionadas