【问题标题】:Windows authentication with PHP on IIS在 IIS 上使用 PHP 进行 Windows 身份验证
【发布时间】:2014-11-05 00:08:14
【问题描述】:

我正在开发一个在 IIS 上用 PHP 构建的 Intranet 应用程序。我想通过使用 Windows 身份验证将用户名从浏览器自动传递到 IIS 来针对 AD 进行身份验证。有没有办法做到这一点?

【问题讨论】:

    标签: php iis-7 active-directory


    【解决方案1】:

    是的,IIS 支持集成的 Windows 身份验证。访问您网站的“身份验证”选项...

    ...并将“Windows 身份验证”项更改为“启用”(如果您想强制用户进行身份验证,可能会将“匿名身份验证”更改为“禁用”)...

    更多详情请访问Technet

    在 PHP 中,用户名应填充到 $_SERVER 超全局中。我认为是AUTH_USER,但我现在无法确认。使用var_dump($_SERVER); 找到正确的密钥。

    【讨论】:

    • 非常感谢@timclutton,你救了我的命,再问一个问题,是否可以传递用户名而不是输入名称和密码?
    • @ShirkoShwan 这应该在 IE 和 Chrome 中自动发生。对于 IE,您可能需要启用首选项:Internet Options > Advanced > Enable Integrated Windows Authentication。您可能必须将服务器添加到Internet Options > Security 中的Local IntranetTrusted Sites 组。
    • IIS 在使用 Windows 身份验证 (NTLM) 时不支持 HTTP/2。那么有没有办法在 IIS 上从 PHP 向 AD 进行身份验证,而不使用 NTLM 和破坏 HTTP/2 并放弃速度?
    • @TampaCraig 我已经好几年没用过 IIS 了。也许像adLDAP 这样的第三方库(尽管它似乎不再处于积极开发中)对你有用。
    猜你喜欢
    • 2021-04-06
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2017-04-17
    相关资源
    最近更新 更多