以编程方式访问 Windows 通过 Kerberos 或 NTLM 在 PHP 中共享


Programmatically access windows share in php via kerberos or ntlm

我这里有一些要求,我不确定它们是否可能按照要求的方式进行。很抱歉事先没有代码,但我觉得 stackoverflow 最适合这个问题,在情况清楚之前,我不能在公司时间编写代码。

设置
通过FCGI运行IIS和PHP的Windows服务器。这台机器上运行着一个内部网(php/mysql)。用户目前可以匿名访问它,因为它是一个开放的内部网。所有用户都位于同一个窗口域中。

SSO 和窗口共享
据我的研究,通过 NTLM 进行单点登录是可能的,并且不应该是实施到当前内部网中的大问题。但是,有一个正在运行的插件,它从定义的窗口共享中读取目录,并吐出文件列表。这些文件由对此共享具有读取访问权限的特定用户帐户读取。

是否可以通过我从 SSO 接收的数据(通过 ntlm 或 kerberos 或......

你需要 Kerberos、Credential Deleagtion 和 Imsimulationation。忘记 NTLM。

编辑:在Windows上,这是由SSPI解决的,在Unix上由GSS-API解决。