对于 Intra 网络上的网站,并设置了所有IE安全设置。我想检索用户登录的当前AD用户名。我不需要进行身份验证,因为我假设计算机上的人已经完成了这个过程。
这甚至可能吗?我已经看到很多与NTLM相关的东西,它们显示了如何进行身份验证,但是我似乎无法在没有提示框的情况下轻松提取当前经过身份验证的用户名,这正是我要避免的。
服务器设置是使用Apache的Windows服务器。如果使用Linux机器轻松完成,我也可以在那里移动它。
答案 0 :(得分:3)
如您的问题所述,IE必须配置为允许Windows集成身份验证。这样做基本上允许IE获得向请求它的站点提供凭据/令牌的权限(通常仅限于Intranet区域中的站点)。请注意,您的网站必须请求这些凭据(在IIS中,它就像选中复选框一样简单)。在Apache中,您必须找到一个Apache模块,为您的Web服务器添加NTLM身份验证支持。一个快速的谷歌搜索揭示了一些不同的模块,没有一个似乎特别是最新。如果您使用Apache NTLM模块,我怀疑您将能够通过$_SERVER['AUTH_USER']
访问用户名。