0
我正在通過HTTP提供Git,並希望使用Active Directory組鎖定對每個存儲庫的訪問權限。目前的相關配置如下:如何在Require指令中使用LocationMatch通配符?
下面是Apache的配置頂級指令:
<LocationMatch "^/git/.*$">
Order allow,deny
Allow from all
AuthLDAPBindDN "[email protected]"
AuthLDAPBindPassword "somepassword"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL "ldap://dc.domain.local:3268/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE
Require ldap-group cn=Domain Users,cn=Users,dc=domain,dc=local
</LocationMatch>
然後分開我有這樣的事情每個倉庫:
<Location /git/somerepo.git>
<Limit GET PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require ldap-filter memberof:1.2.840.113556.1.4.1941:=CN=somerepo,OU=Git,DC=domain,DC=local
</Limit>
</Location>
這工作,但需要無論何時添加/刪除存儲庫,都會更改配置。有沒有辦法提取LocationMatch
中的.*
匹配的值,因此我們可以將它插入require ldap-filter
指令中?