-
Suggestion
-
Resolution: Fixed
-
None
As of Crowd 1.2, the support for using subversion authorization files to control access on a per directory basis doesn't work if the SVNParentPath directive is used in the apache config file. This is a known limitation.
SVNParentPath allows you to put multiple svn repositories in a directory and access them through a single URL (see http://svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html and http://svnbook.red-bean.com/nightly/en/svn.ref.mod_dav_svn.conf.html).
If you do have multiple repositories you can make it work by defining apache <Location> blocks for each one and using a separate authz file for each, but it's a bit more work to set up and maintain.
Example:
<Location /svn/tools1> DAV svn SVNPath /usr/local/svnrepos/tools1 ... </Location> <Location /svn/tools2> DAV svn SVNPath /usr/local/svnrepos/tools2 ... </Location> <Location /svn/tools3> DAV svn SVNPath /usr/local/svnrepos/tools3 ... </Location>
[CWD-776] Apache module's Subversion support should support the SVNParentPath directive
Workflow | Original: JAC Suggestion Workflow [ 3389137 ] | New: JAC Suggestion Workflow 3 [ 3629565 ] |
Status | Original: RESOLVED [ 5 ] | New: Closed [ 6 ] |
Workflow | Original: Simplified Crowd Development Workflow v2 [ 1393178 ] | New: JAC Suggestion Workflow [ 3389137 ] |
Assignee | Original: Adrian Hempel [Atlassian] [ ahempel ] | |
Issue Type | Original: Improvement [ 4 ] | New: Suggestion [ 10000 ] |
Workflow | Original: Crowd Development Workflow v2 [ 272025 ] | New: Simplified Crowd Development Workflow v2 [ 1393178 ] |
Workflow | Original: Feature Request Workflow [ 173750 ] | New: Crowd Development Workflow v2 [ 272025 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: In Progress [ 3 ] | New: Resolved [ 5 ] |
Status | Original: Open [ 1 ] | New: In Progress [ 3 ] |
Assignee | Original: David O'Flynn [Atlassian] [ doflynn ] | New: Adrian Hempel [Atlassian] [ ahempel ] |
Fix Version/s | New: 2.1 [ 14496 ] |
I figured out a hack with Apache configfile Macros.
Not soo nice but minimal config overhead for a bunch of repositories:
<Macro crowd $svn_path $crowd_group> <Location /svn/$svn_path/> DAV svn SVNPath /mnt/svnroot/$svn_path/ AuthName Crowd-Login AuthType Basic require valid-user PerlAuthenHandler Apache::CrowdAuth PerlAuthzHandler Apache::CrowdAuthz PerlSetVar CrowdAppName user PerlSetVar CrowdAppPassword pass PerlSetVar CrowdSOAPURL localhost:8095/crowd/services/SecurityServer PerlSetVar CrowdAllowedGroups '$crowd_group' </Location> </Macro>
For instancing the repository from inside the apache config file:
For geting the SVNParentPath listing:
So finaly you can use:
hxxp://localhost/svnlist (to display the repository listing)
hxxp://localhost/svn/foo_repo/ (to access a single repository)
Does anybody know how to get my listing to hxxp://localhost/svn ?