mysql認証でmod_dav_svnを使用するようにApacheサーバー上のサイトを構成しようとしています。
私はこのような3つのテーブルを持つデータベースを使用しています
auth_users
----------
uid username passwd
1 UserA pass
2 UserB pass
。
auth_groups
-----------
gid group
1 repo_rw
2 repo_ro
。
users_groups
uid gid
1 1
2 2
したがって:-
UserAはグループrepo_rwのメンバーですUserBはグループrepo_roのメンバーです
次に、httpd.confファイルで次を使用します。-
<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>
この構成では、このリポジトリの有効なユーザーとして認証されたリポジトリ/ var / svn/repoへのアクセスをユーザーにrwで与えることができます。
また、複数のVirtualHostエントリを追加して、さまざまな場所の「リポジトリ」を新しいリポジトリ名に置き換え、個々のリポジトリへの制御されたrwアクセスを提供することもできます。
私の問題は、リポジトリへの読み取り専用アクセスと、匿名の読み取り専用アクセスを追加できないことです。
追加できるはずだと読んだ
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require group repo_ro
</Limit>
セクションへのアクセスとこれはリポジトリへの読み取り専用アクセスを提供するはずですが、私はこれを機能させることができませんでした。mysqlログを調整すると、repo_rwのみが照会されます。
誰かアドバイスがあれば、とてもありがたいです!