我想知道以下代码是否应该有效:
<LocationMatch "/(.*)([/])?(.*)">
Order allow,deny
Allow from all
AuthType Basic
AuthName "Git"
AuthUserFile /git/.htpasswd
AuthGroupFile /git/.htgroup
Require group $1
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)
我试图通过这个实现的是需要一个基于第一个正则表达式变量的组。所以如果用户去http://localhost/a-repository-name他必须在组a-repository-name中才能打开网址。
出于某种原因,我无法使此代码正常工作并且 apache 返回:
Authorization of user **** to access /a-repository-name failed, reason: user is not part of the 'require'ed group(s).
我想它与Require group $1.
这是正确的方法还是我遗漏了什么?
小智 7
根据Apache 文档,现在支持...
从 2.4.8 开始,命名组和反向引用被捕获并写入到环境中,相应的名称以“MATCH_”为前缀,大写。这允许从表达式和模块(如 mod_rewrite)中引用 URL 的元素。为了防止混淆,编号(未命名)的反向引用将被忽略。请改用命名组。
<LocationMatch "^/combined/(?<sitename>[^/]+)">
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4309 次 |
| 最近记录: |