我确实有一台带有IIS和PHP 7.3.5的“ Windows Server 2016”计算机。
我正在尝试创建一个Intranet页面。每个能够查看和使用该页面的用户都将成为(已经)工作的ldap / ad构造的一部分,因此我的想法是使用该用户用来登录其计算机的凭据来确定允许其使用的信息在Intranet页面上查看。为此,我激活了“ Windows身份验证”并在iis中取消了匿名身份验证。
所以这个
<?
print_r($_SERVER);
现在给我预填充的元素AUTH_USER和REMOTE_USER(它们是相同的),它们是已登录用户的“ DomainName \ username”(在此计算机上)。到目前为止,一切都很好。我也没有密码,但是预填了HTTP_AUTHORIZATION,并带有“协商YIIIiQYGKwYBBQUCoIII [...]”。
我已经读到我确实需要为Apache使用'kerberos',但是iis带有它的'own',即“集成Windows身份验证”(IWA)。
我现在的问题是,我需要以某种方式将信息(用户+协商令牌)传递给ldap,以检查用户是否获得授权,然后返回一些信息(例如“真实姓名”)浏览器。到目前为止,我发现的每个PHP / LDAP示例都需要用户名和密码(我没有,也不想通过重新输入来打扰用户)。
有人能正常工作的代码示例,还是可以在正确的方向上指出如何实现上述功能?
提前谢谢!