我有一个登录信息,用户可以使用两个不同的帐户登录,一个是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)。