Pregunta

¿Alguien sabe si hay alguna API expuesta para administrar los permisos del repositorio dentro? SharpSVN?Por ejemplo, agregar mediante programación permisos de lectura y escritura por repositorio.

Alternativamente, ¿alguna otra idea sobre la gestión de permisos con otras API de SVN?El peor de los casos será administrar manualmente el contenido de svnaccessfile, pero este es el último recurso.Gracias.

¿Fue útil?

Solución

Parece que debido a que SharpSvn es solo un contenedor de API .NET alrededor de la herramienta de línea de comando Subversion y esto no incluye un mecanismo para administrar permisos, esto no es factible (consulte aquí).Las diferentes distribuciones de Subversion administran los permisos de diferentes maneras, por lo que los enfoques para controlar esto fuera de SharpSvn serán diferentes.

El servidor Visual SVN utiliza un archivo authz-windows en la raíz del repositorio para administrar los permisos basados ​​en AD.Almacena el SID del usuario junto con el nombre del repositorio, todo en texto sin formato, por lo que solucioné el problema de la API simplemente administrando el contenido de este archivo directamente.No es tan elegante como esperaba pero el resultado final es el mismo.

Otros consejos

Como publicó @TroyHunt, no es posible utilizar SharpSVN para gestionar las reglas de acceso de Subversion. De hecho, cada servidor de Subversion + Apache que utiliza mod_authz_svn puede ser configurado para utilizar una serie de listas de autorización. Pueden ser archivos por cada repositorio authz, archivos authz para toda la instancia Sever o incluso en-repo archivos authz (disponibles que comienzan con Subversion 1.8). Por lo tanto, no hay forma estándar para la gestión de las reglas de acceso que se adapte a todas las instalaciones de Subversion. Sin embargo, siempre se puede escribir su propio guión específicamente para la instalación del servidor de Subversion sólo porque archivos authz Subversion tienen un formato muy simple .

La respuesta original implica que estaba utilizando VisualSVN Server. En tal caso, tengo buenas noticias para ti, porque VisualSVN servidor 3.4 introdujo una serie de cmdlets de PowerShell para la administración de servidores y repositorios. En la versión más reciente 3.5, en realidad hay 29 cmdlets y cmdlets para gestionar las reglas de acceso se encuentran entre ellos:

Para obtener más información acerca de los cmdlets y ejemplos de uso, por favor lea el artículo KB88: PowerShell VisualSVN servidor cmdlet Referencia .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top