我正在尝试将Apache与OpenID Connect(mod_auth_openidc)一起使用来限制访问,但是在特定的路径上我希望不受限制地访问。我的httpd.conf包含这样的内容
<Location />
Require valid-user
</Location>
<Location /myPath>
Require all granted
</Location>
和/ myPath确实具有不受限制的访问权限,即未经授权的用户可以访问。
现在,我尝试使用“ If”指令添加一些条件限制,但保持/ myPath不受限制,例如
<Location />
<If someBoolean>
Require valid-user
</If>
</Location>
<Location /myPath>
Require all granted
</Location>
在这种情况下,如果someBoolean为“ false”,则仅获得对/ myPath的无限制访问。如果为“ true”,则需要有效的用户访问/ myPath,这不是我想要的。默认路径“ /”可以正常工作,即,当且仅当someBoolean为“ true”时,它才需要有效的用户。
现在我尝试进一步测试:添加“ Else”指令后,例如
<If someBoolean>
Require valid-user
</If>
<Else>
Require valid-user
</Else>
在我看来,这应该等同于使用
Require valid-user
我从来没有不受限制地访问/ myPath。
如何获得所需的行为?