如何使用Apache / WebDAV读取/写入经过身份验证的用户?

时间:2008-09-22 10:45:51

标签: apache authentication webdav dav

我在apache2中设置了DAV,效果很好。问题是,所有读/写操作都是使用apache用户的凭据完成的。相反,我想使用HTTP身份验证用户的凭据。如果我作为“john”进行身份验证,则所有读写操作都应使用系统用户john的凭据(来自/ etc / passwd)。 suEXEC似乎有点矫枉过正,因为我没有执行任何事情,但我可能错了......

以下是当前配置:

<VirtualHost *:80>
        DocumentRoot /var/www/webdav
        ServerName webdav.mydomain.com
        ServerAdmin webmaster@mydomain.com

       <Location "/">
               DAV On
               AuthType Basic
               AuthName "WebDAV Restricted"
               AuthUserFile /etc/apache2/extra/webdav-passwords
               require valid-user

               Options +Indexes
       </Location>
        DAVLockDB /var/lib/dav/lockdb

        ErrorLog /var/log/apache2/webdav-error.log
        TransferLog /var/log/apache2/webdav-access.log
</VirtualHost>

2 个答案:

答案 0 :(得分:2)

拍摄答案,据我所知:你没有。

答案很长:可以用适当的mpm来实现这样的功能,并且有various attempts这样做,但它们似乎没有得到非常积极的支持,并且是至少不在主线Apache代码库中。

每用户:

  

Q值。 peruser是否已准备好投入生产?

     

一个。一般来说,没有。

perchild选项:

  

此模块无法使用。此模块的开发尚未完成,目前尚未激活。除非您是愿意帮助修复它的程序员,否则不要使用perchild。

太糟糕了,真的; WebDav的大多数用途无论如何,我在应用程序层,数据库中看到了商店所有权信息。进行文件共享的共识是使用Samba;我承认,这不是一个真正的解决方案。

答案 1 :(得分:1)

我们多年来一直使用davenport(http://davenport.sourceforge.net/)来通过webdav提供对Windows / samba共享的访问。 Samba / Windows对这种事情提供了很多控制,而Davenport只是让它可以在没有VPN的情况下通过SSL在Web上使用