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

时间:2012-05-04 20:27:44

标签: php sql-server windows iis-7 windows-authentication

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

以下是设置:

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

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

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

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

启动后,它会导航到主页,这是一个keepalive.php脚本,我打开了一个连接,然后javascript每隔x分钟刷新一次页面。

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

1 个答案:

答案 0 :(得分:2)

如果您使用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