通过用户名&从PHP到Apache的密码

时间:2012-02-13 09:33:43

标签: php apache authentication kerberos

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

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

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

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

希望你明白我要做的事情......

干杯

2 个答案:

答案 0 :(得分:0)

  

我想知道这是否可行。

不幸的是 - 没有。

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

答案 1 :(得分:-1)

这取决于apache为请求设置的环境变量。做一个

 var_dump($_SERVER);

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

这也可能取决于which Server-API (SAPI) you're using with PHPDocs