php - SQL Server - Windows 身份验证
问题描述
我有 2 台服务器:
带有 SQL SERVER 2012 的 Windows Server 2008
带有 IIS 8 的 Windows Server 2008
我需要通过 IIS 服务器使用 php 应用程序从客户端机器登录到 SQL 服务器。
我阅读了很多文章并配置了所有文章,它可以工作,但我有一个问题 - 它只能在 IE 浏览器(或 EDGE)中正常工作,但不能在基于 Chromium 或 Firefox 的浏览器中正常工作。
如果我启动一次 IE,php 应用程序成功连接到 SQL 服务器,否则在非 IE 浏览器中我收到错误 NT AUTHORITY\ANONYMOUS LOGON。
我总是在 IIS 上成功登录(检查$_SERVER['REMOTE_USER'];
)
需要帮忙
解决方案
IIS 需要将 Kerberos 票证传递给 SQL Server,此方案才能正常工作。IE 正在获取工作站会话票证,而 Firefox 正在协商它自己的身份验证(而不是 Kerberos)。
要在 Mozilla Firefox 中启用集成 Windows 身份验证 (IWA),您可以按照以下步骤操作:
打开火狐
在地址栏中,键入 about:config。在警告谨慎进行的提示下,同意继续。
配置页面加载后,在过滤器框中输入:network.automatic。您应该会看到 network.automatic-ntlm-auth.trusted-uris 的搜索结果
双击该行修改network.automatic-ntlm-auth.trusted-uris,然后输入https://your_SecureAuth_FQDN.com
多个站点可以通过逗号分隔来添加,如下例所示:https://your_SecureAuth_FQDN.com , https://www.replacewithyourintranetsite.com
单击“确定”并重新启动 Firefox
推荐阅读
- flutter - 如何在 IntlPhoneField 右侧的下拉箭头
- azure - VS 本地调试抛出“名称或服务未知(login.windows.net:443)”
- node.js - node.js websocket 客户端无法连接到服务器代码:'ECONNRESET'
- android - 如何序列化自定义类型的 ArrayList?
- python - pytorch:NLLLoss ignore_index 默认值
- bash - 如何从 cURL 输出日志条目中获取原始 URL?
- c# - 如何将类作为参数传递
- math - 根据到随机点的距离估计 2D 网格中的单元格权重
- laravel - Laravel MongoDB 从连接字符串更改写入问题
- python - Colab训练模型时设置图片路径的方法