É possível conceder acesso a uma pasta em um servidor SVN usando a API do SVN?

1

Eu preciso desenvolver um aplicativo da web (usando qualquer idioma, mas eu estou familiarizado com o Frameworks Symfony2 e Rails), que é capaz de conceder acesso a um usuário para uma determinada pasta em outro servidor na mesma rede a partir da frente do aplicativo -fim.

Descobri que o SVN tem uma API e que eu poderia interagir com ele ou com o Ruby (aparentemente), embora eu estivesse disposto a programar o aplicativo em outro idioma, o servidor onde os arquivos são armazenados está usando o Windows e Pensei em usar o servidor Virtual SVN, no entanto não consigo encontrar qualquer função na API para conceder aos usuários acesso a arquivos e / ou pastas ou acesso de qualquer tipo, como você costuma fazer usando a GUI (VirtualSVN no Windows).

Estou faltando alguma coisa? Isso é possível?

    
por Splendonia 06.11.2013 / 20:31

1 resposta

1

É possível, mas como você precisará fazer isso depende do que você está usando para servir seus repositórios do Subversion; O próprio Subversion não especifica nenhum método de controle de acesso e deixa tais preocupações para qualquer software que você esteja usando para expor seu repositório para seus clientes.

(Isto é realmente preferível a fazer controle de acesso dentro do próprio Subversion, porque é mais modular e portanto mais facilmente extensível; um repositório Subversion servido via Apache pode compartilhar qualquer método de controle de acesso suportado pelo Apache, ao invés de ter que reimplementar cada método como parte da árvore de fontes do Subversion.)

Se você está servindo seu repositório via Apache ou através da ferramenta svnserve empacotada com a distribuição do Subversion, você pode encontrar detalhes sobre como configurar o controle de acesso em Capítulo 6 do Controle de versões com o Subversion , disponível gratuitamente online. Caso contrário, consulte a documentação do software do servidor para obter mais detalhes sobre como configurar as opções de controle de acesso necessárias.

Uma nota final: as APIs PHP e Ruby que você descreve são implementações de um cliente Subversion, o que certamente será útil no desenvolvimento do código do seu aplicativo, mas que não fará nada para ajudá-lo a trabalhar com o controle de acesso do servidor. Para isso, você precisará encontrar alguma maneira de permitir com segurança o código do aplicativo para modificar a configuração do seu servidor de repositório (incômodo) ou de integrar seu aplicativo com um banco de dados de autenticação / autorização que o servidor de repositório usa para descobrir quem tem permissão para ir onde no repo e fazer o que.

    
por 06.11.2013 / 21:36