1

I need to develop a web application (Using any language but I'm familiar with Frameworks Symfony2 and Rails), that is able to grant access to a user to a determined folder on another server on the same network from the application's front-end.

I found out that SVN has an API and that I could interact with it with PHP or Ruby (Apparently), although I would be willing to program the application on another language, the server where the files are stored is using Windows and I thought on using Virtual SVN server, however I can't find any function on the API to grant users access to files and/or folders or access of any kind, like you usually do using the GUI (VirtualSVN on Windows).

Am I missing anything? Is this even possible?

1 Answer 1

1

It is possible, but how you'll need to do it depends on what you're using to serve your Subversion repositories; Subversion itself specifies no method of access control, and leaves such concerns up to whatever software you're using to expose your repository to your clients.

(This is actually preferable to doing access control within Subversion proper, because it's more modular and thus more easily extensible; a Subversion repository served via Apache can partake of any access control method Apache supports, instead of having to reimplement each such method as part of the Subversion source tree.)

If you're serving your repository via Apache or via the svnserve tool packaged with the Subversion distribution, you can find details on how to configure access control in Chapter 6 of Version Control with Subversion, available free online. Otherwise, consult the documentation for your server software for further details on how to set up the access control options you require.

A final note: the PHP and Ruby APIs you describe are implementations of a Subversion client, which will almost certainly be useful in developing your application code, but which will not do anything to help you work with server-side access control. For that, you'll need to find some way of either safely allowing your application code to modify the configuration of your repository server (dicey), or of having your application integrate with an authentication/authorization database which the repository server uses to find out who's allowed to go where in the repo and do what.

3
  • Thank you very much for replying and clarifying for me. I hadn't thought of integrating both databases, do all SVN servers allow this?
    – Splendonia
    Commented Nov 6, 2013 at 20:53
  • @Splendonia It depends on the capabilities of the server software. For example, the Apache module mod_auth_mysql enables Apache to use a MySQL database as an authentication backend, which would probably be the simplest method available for managing access control from within a web application. Other repository servers may or may not support something similar; you'd need to check the documentation for your server software to find out what you can do. Commented Nov 6, 2013 at 21:17
  • @Splendonia Gladly! Commented Nov 6, 2013 at 21:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .