IIS PHP 使用 Windows 身份验证连接到 MSSQL

问题描述 投票:0回答:1

我是 PHP 新手,遇到了一个相当简单但烦人的问题。

这是设置:

  • Windows域环境
  • 用户连接到运行 IIS7 及最新版本的本地服务器 2008 框 PHP 版本
  • 此框包含连接到本地 mssql 服务器的 php 脚本

如果用户导航到 http://iisservername/ 并尝试通过 php 脚本连接到 mssql 服务器,他们会收到用户 NT AUTHORITY\ANONYMOUS LOGON 登录失败

我的解决方法是在 IIS 服务器上启动一个 cmd 脚本,该脚本使用 runas /profile /user:domain\user "c:\program files\internet explorer\iexplore.exe"

我在cmd脚本中为每个用户创建一个runas行并执行它。

启动后,它会导航到主页,这是我制作的 keepalive.php 脚本,用于打开连接,然后 javascript 每 x 分钟刷新页面。

当然有更好的方法来做到这一点,是吗?

php sql-server windows iis-7 windows-authentication
1个回答
3
投票

如果您使用

sqlsrv_connect
并且正在使用 IIS 的内置身份验证,那么它应该会为您处理:

/* Specify the server and connection string attributes. */
$serverName = "(local)";
$connectionInfo = array("Database" => "AdventureWorks");
/* Connect using Windows Authentication. */
$conn = sqlsrv_connect($serverName, $connectionInfo);

(示例来自:http://msdn.microsoft.com/en-us/library/cc296205%28v=sql.90%29.aspx

© www.soinside.com 2019 - 2024. All rights reserved.