我有一个登录表单,用户可以使用两个不同的帐户登录 - 一个是SolarisLDAP帐户,另一个是Active Directory帐户。 当用户尝试登录时,我想知道他使用的是哪个帐户(这不是问题)。
如果他正在使用SolarisLDAP帐户,则身份验证在PHP中完成。 但如果它是AD帐户,则必须将其传递给Apache(因为我必须使用mod_auth_kerb对我们的AD进行身份验证)。
我想知道这是否可行。我可以设置$_SERVER['PHP_AUTH_USER']
和$_SERVER['PHP_AUTH_PW']
,或$_SERVER['REMOTE_USER']
,就是这样吗?
或者是否有可能通过标题或重定向来实现?
希望你明白我要做的事情......
干杯
答案 0 :(得分:0)
我想知道这是否可行。
不幸的是 - 没有。
另请注意,在这种情况下,将PHP中的任何变量传递给Apache都没有意义 它不是PHP而是浏览器你想要用Apache进行身份验证,显然,你无法控制。
答案 1 :(得分:-1)
这取决于apache为请求设置的环境变量。做一个
var_dump($_SERVER);
获取所有可用列表。浏览该列表,找出哪些与身份验证相关。它可能是非标准的,这是一个通用列表:http://php.net/_SERVER,将其与您的var_dump
输出进行比较。