首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mysql和Apache的Subversion访问控制(mod-dav-svn,mod-auth-sql,apache,mysql)

使用Mysql和Apache的Subversion访问控制(mod-dav-svn,mod-auth-sql,apache,mysql)
EN

Stack Overflow用户
提问于 2009-12-12 08:15:45
回答 1查看 3.3K关注 0票数 1

我正在尝试在我的Apache服务器上配置一个站点,以使用带有mysql身份验证的mod_dav_svn。

我使用的数据库有三个表,如下所示

代码语言:javascript
复制
auth_users
----------
uid    username  passwd
1      UserA     pass
2      UserB     pass

代码语言:javascript
复制
auth_groups
-----------
gid    group
1      repo_rw
2      repo_ro

代码语言:javascript
复制
users_groups
uid    gid
1      1
2      2

因此:

UserA是组的成员repo_rw UserB是组repo_ro的成员

然后,我在我的httpd.conf文件中使用以下内容:

代码语言:javascript
复制
<VirtualHost *:80>
  DocumentRoot /var/www
  ServerName repo.srv.domain.com
  ServerPath /var/www

  <Location /svn>
    DAV svn

    SVNPath /var/svn/repo

    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /dev/null
    AuthBasicAuthoritative Off

    AuthMySQL_Authoritative on
    AuthMySQL_Empty_Password off
    AuthMySQL_Encryption_Types Plaintext

    AuthMySQL_Password_Table "auth_users u"
    AuthMySQL_Username_Field "u.username"
    AuthMySQL_Password_Field "u.passwd"

    AuthMySQL_Group_Table "auth_groups g RIGHT JOIN users_groups ug ON (ug.gid=g.gid) RIGHT JOIN auth_users u ON (ug.uid=u.uid)"
    AuthMySQL_Group_Field "g.group"

    <Limit GET PROPFIND OPTIONS REPORT>
      Require group repo_rw
    </Limit>
  </Location>
</VirtualHost>

在此配置中,我能够授予用户rw对存储库/var/svn/repo的访问权限,并将其认证为此存储库的有效用户。

我还可以添加多个存储库条目,将不同位置中的“VirtualHost”替换为新的存储库名称,并提供对单个存储库的受控rw访问。

我的问题是,我无法向存储库添加只读访问权限,也无法添加匿名只读访问权限。

我已经读过了,应该可以添加

代码语言:javascript
复制
<LimitExcept GET PROPFIND OPTIONS REPORT>
  Require group repo_ro
</Limit>

这应该提供对存储库的只读访问权限,但是我无法做到这一点。对mysql日志进行尾部操作仅显示查询到的repo_rw。

如果有人能给我任何建议,我将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-13 04:55:41

这种方法似乎就是行不通。网上有一些mahy资源表明它可以,但似乎没有一个能与当前版本的apache/mysql/modules一起工作。

细粒度访问控制有两个选项: 1)只验证文件,跳过mysql验证,使用标准的apache验证方法;2)修改钩子脚本来定义用户拥有的访问权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1891693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档