传递用户名&;从PHP到Apache的密码


Pass username & password from PHP to Apache

我有一个登录信息,用户可以使用两个不同的帐户登录,一个是SolarisLDAP帐户,另一个是Active Directory帐户。当用户尝试登录时,我想知道他使用的是哪个帐户(这不是问题所在)。

如果他使用的是SolarisLDAP帐户,那么身份验证是用PHP完成的。但如果它是一个AD帐户,则必须将其传递给Apache(因为我必须使用mod_auth_kerb来针对我们的AD进行身份验证)。

我想知道这是否有可能。我可以设置$_SERVER['PHP_AUTH_USER']$_SERVER['PHP_AUTH_PW'],或者$_SERVER['REMOTE_USER']吗?

还是有可能通过标题或重定向来实现?

希望你能理解我的意图

干杯

我想知道这是否有可能。

不幸的是,没有。

还要注意,在这种情况下,将任何变量从PHP传递给Apache都没有意义
您想要使用Apache进行身份验证的不是PHP,而是浏览器,显然,您无法控制。

这取决于apache为请求设置的环境变量。进行

 var_dump($_SERVER);

以获取所有可用的列表。浏览该列表,找出哪些与身份验证相关。这可能是一些非标准的东西,这是一个一般列表:http://php.net/_SERVER,将其与您的var_dump输出进行比较。

此外,这可能取决于您在PHPDocs中使用的服务器API(SAPI)。