Fra*_*sco 9 regex apache security configuration
我需要一个URL只能为某些已定义的用户访问.在URL中有一个查询参数,它是鉴别器.
URL可能是这样的:
https://my.my.com/my-app/view/myView.xhtml?myQueryParam=allUsers
Run Code Online (Sandbox Code Playgroud)
我在这样的apache配置中的经验是〜0和谷歌搜索我可以设置这个:
RewriteEngine on
RewriteCond %{QUERY_STRING} myQueryParam=allUsers
RewriteRule "/my-app/view/myView[.]xhtml.*" - [E=no_auth_required:1]
<LocationMatch "/my-app/view/myView[.]xhtml.*">
Require uniqueID user1ID user2ID
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)
之间xhtml也?可能会出现额外的字符串,因此.*.
这有效但问题是它也拒绝访问ex.到链接
https://my.my.com/my-app/view/myView.xhtml?myQueryParam=somethingElse
Run Code Online (Sandbox Code Playgroud)
它似乎没有打扰查询参数的值...
我错过了什么?
编辑:我忘了说我使用Apache 2.2.
提供的解决方案适用于 Apache v2.4
If通过指令中的指令检查环境变量值Location*:
RewriteCond %{QUERY_STRING} myQueryParam=allUsers
RewriteRule . - [E=no_auth_required:1]
<Location "/my-app/view/myView.xhtml">
<If "reqenv('no_auth_required') == 1">
Require uniqueID user1ID user2ID
</If>
</Location>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
304 次 |
| 最近记录: |