我有以下Apache配置:
Alias /HelpdeskSignIn/ /opt/HelpdeskSignIn/web/
<Location /HelpdeskSignIn/>
Order allow,deny
Allow from all
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) app.php [E=RU:%1,QSA,L]
RequestHeader set REMOTE_USER %{RU}e
RedirectMatch permanent ^/app\.php/(.*) /$1
</Location>
<Location /HelpdeskSignIn/cccs>
AuthType CAS
Require valid-user
</Location>
应用程序的根目录不需要身份验证,但如果有人访问其子目录,则需要进行身份验证。如果我在整个事情上需要一个有效的CAS用户并使用PHP检查它的值,那么当我尝试上面的代码时,在/ cccs中点击PHP代码时,REMOTE_USER总是为空。我尝试了几种在重写时传递环境变量的方法,但它似乎不起作用。这有可能还是有更好的方法呢?
答案 0 :(得分:1)
@mario得到了答案!我的问题是我一直试图在重写上设置变量,但是我并不关心我是如何得到这个值的......我不知道它是否可能设置为REDIRECT_REMOTE_USER,它就是。 / p>
对于它的价值,使用nginx和php-fpm以及fastCGI的重定向,这不会发生在框架中。就我而言,我使用的是框架。
这是一个有点类似的问题,在我的搜索中没有出现,因为我没有正确使用Google搜索:有关于此主题的一些有用信息: Accessing REMOTE_USER from PHP/CakePHP