1

我的任务是升级我们公司的网站,以便将其迁移到新机器上。我们网站的用户使用登录页面登录,我在 IIS 中添加了一个模块来拦截请求,以便设置正确的 cookie 和安全令牌以进入网站。在早期版本中,我们使用 C++ 中的 ISAPI 脚本,但由于它在我们的新机器上不起作用,我不得不编写这个新的 IIS 模块。

现在,Web 用户被映射到 Web 服务器上的 Windows 帐户,以允许或拒绝访问文件系统资源(主要是图像和视频)。映射在我们的数据库中。

在网站的 php 页面中,提到了 $REMOTE_USER,这是猜测处理 Web 请求的 Windows 帐户。IIS 将默认帐户分配给请求,但我想在不同的凭据下运行请求。换句话说,如果 ClientOne 登录到该网站并且他已映射到 NT 帐户 UsrRestricted,我希望请求运行就像 UsrRestricted 正在运行节目,而不是 IIS 默认值,我认为是 IUSR。

那么如何设置一个代表谁执行以下请求的 Windows 帐户呢?我已经阅读了 ASP.net 模拟,我认为这可能是一个解决方案,但它会延续到 PHP 中的服务器代码吗?

*我当然是 PHP 和 IIS 的新手,并感谢任何提示。

4

1 回答 1

3

您可能正在使用 fast-cgi 在 iis 中运行 php。

您可以通过设置 fast-cgi 来模拟客户端凭据

fastcgi.impersonate = 1

在 php.ini 中。

于 2012-10-31T21:23:46.537 回答