你能用PHP获得一个Windows(AD)用户名吗?

fue*_*sjr 45 php windows authentication

我在Intranet上有一个PHP Web应用程序,可以在该页面上提取当前用户的IP和主机名,但我想知道是否有办法获取/提取他们的Active Directory/Windows用户名.这可能吗?

Dyl*_*tie 46

检查AUTH_USER请求变量.如果您的Web应用程序允许匿名访问,则此项为空,但如果您的服务器使用基本或Windows集成身份验证,则它将包含经过身份验证的用户的用户名.

在Active Directory域,如果您的客户正在运行Internet Explorer和您的Web服务器/文件系统权限的配置正确,IE会悄悄地提交自己的域凭据到您的服务器,并AUTH_USERMYDOMAIN\user.name而无需显式登录到你的Web应用程序的用户.

  • Firefox也支持(自动)集成身份验证.请参阅https://developer.mozilla.org/en/Integrated_Authentication (7认同)
  • 只有 IE 会传递您的凭据,其他浏览器只会提示,在这种情况下您只需提供您的域凭据(域\用户名和密码)。 (2认同)

Sch*_*.Oz 16

我已经在IIS上运行了php mysql - 我可以使用,$_SERVER["AUTH_USER"] 如果我在IIS中打开Windows身份验证 - >身份验证并关闭匿名身份验证(重要)

我用它来获取我的用户和域名:

$user = $_SERVER['AUTH_USER'];
Run Code Online (Sandbox Code Playgroud)

$user将返回一个值,如:DOMAIN\username在我们的网络上,然后它只是一个DOMAIN\从字符串中删除的情况.

到目前为止,这已经在IE,FF,Chrome,Safari(已测试)中有效.