Apache 2.4:设置用户相关的环境变量

Apache 2.4:设置用户相关的环境变量

我只是想知道是否可以根据基本身份验证用户设置环境变量。我尝试了以下版本,但都不起作用(显然都不起作用记录在案):

SetEnvIf HTTP_USER   "marco" MYENV=foobar
SetEnvIf USER        "marco" MYENV=foobar
SetEnvIf REMOTE_USER "marco" MYENV=foobar

干杯,马可

答案1

SetEnvIf 用于根据请求的属性或标头设置环境变量。但用户名不是要求;这是一个独立的环境变量,由 Apache 在处理完请求后设置。这就是它无法按您希望的方式工作的原因。

您可以通过获取 REMOTE_USER 环境变量并将其放在标题中来解决这个问题:

RequestHeader set X-Remote-User expr=%{REMOTE_USER}
SetEnvIf X-Remote-User "marco" MYENV=foobar

相关内容