2013-04-24 41 views
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指令中?

回答

相關問題