我是 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 分钟刷新页面。
当然有更好的方法来做到这一点,是吗?
如果您使用
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)