php - 如何从我的 PHP 应用程序获取用户的 Windows 用户名?

标签 php apache authentication active-directory ldap

我之所以在这里发帖,是因为我仍然不清楚要完成此任务必须满足哪些特定要求。

我们在 iSeries Apache Web 服务器上运行我们的 PHP 应用程序。我们所有的用户都在 IE 上。我们在公司网络中使用 AD 作为我们的用户名。

当前的 apache 服务器设置不需要任何用户登录我们的页面...如果您在我们的网络上,您就可以访问该页面。

有没有办法(通过 LDAP 或其他方式)获取登录的 Windows 用户名?最后的最后手段是将用户重定向到我们的 Windows 服务器上托管的 ASP.NET 站点,并将用户名传回 PHP 应用程序。但同样,这是最后的手段。

链接在这里:Can you get a Windows (AD) username in PHP?有很多好的建议,但是如链接中所述,AUTH_USER 变量为空...而且我不认为 iSeries Apache 服务器可以实现 Windows 集成身份验证。

如果有人可以解释我的选择,以及(如果可能的话)这些选择的难度……将不胜感激。请尽可能具体,因为我对 LDAP 或服务器配置没有经验。

最佳答案

您可以从 ActiveX 对象和 JavaScript 中获取它,因为您使用的是 IE。要将其添加到 PHP 中,可以将其作为登录页面中的隐藏字段包含在内吗?

try {
  var activex = new ActiveXObject('WScript.Network');
  document.write(activex.userName);
} catch (ex) {
  document.write("unable to get user info");
}

确保您已将此站点添加到浏览器的信任区域并且 enabled scripts让它运行。

关于php - 如何从我的 PHP 应用程序获取用户的 Windows 用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8098049/

相关文章:

php - 如何在php中使用表单重定向到当前页面?

java - 使用 Apache Tomcat 7.0.40.0 时 servlet 中的文件上传错误

php - 在 Ubuntu 根问题上安装 MySql

authentication - AuthnRequest (Keycloak) 中的 SAML 2 扩展

asp.net-mvc - Intranet 用户的 Window Active Directory 身份验证和 Internet 用户的 Forms 身份验证

angular - 当 Angular 中的条件错误(静态用户名和密码)时,在登录按钮下显示错误消息?

php - 获取数据库表中所有不同属性的 PHP-arraylist

php - 在插入数据库之前进行类型转换?

php - Oracle 10.x 到 MySQL 5.x 的转换

apache - 域重定向到www时如何将www子域重定向到非www