simplifying webdav config on apache

simplifying webdav config on apache

am 15.11.2007 16:57:58 von blamtastic

Hi All,

I'm trying to simplify my apache webdav config so I don't have to have
individual sections for each my my users in my httpd.conf file.

When someone connects to access webdav they need to use the url
https://a.b.com/wd/. For instance user 'bob' would go
to 'https://a.b.com/wd/bob'. I want to be able to pull the string
'bob' off the end of the url and use it in a 'Require user ....'
statement. My attempt can be seen below:

--
Alias /wd /var/spool/webdav

Order Deny,Allow
Deny from all
Allow from 1.2.3.0/255.255.255.0
DAV On
AuthType Basic
AuthName "WebDAV Restricted"
AuthUserFile /data/web/root/auth/htpasswd
SetEnvIf Request_URI "^/wd/(.*)" myusername=$1

Require user myusername


--

Unfortunately this doesn't work and I get the error message:

--
[Wed Nov 14 16:41:35 2007] [error] [client 1.2.3.43] access to /wd/
bob/ failed, reason: user bob not allowed access
--

If I go back to my old config which just excludes the SetEnvIf line
and puts 'bob' in place of the environment variable 'myusername' I log
in just fine (I also change the 'Location' statment to look in '/wd/
bob') That is to say the problem isn't in my htpasswd file.

Any suggestions on where I'm going wrong?