我正在尝试使用 Windows 帐户连接到 SQL Server 数据库。在 sql 管理工作室中,我可以使用此帐户打开数据库,但不能使用我的 php 应用程序。这个用户不是sql用户,但是他对SQL数据库有权限。
我尝试使用 sql 用户,它适用于我的 php 应用程序。
是否可以从 php 应用程序使用我的 windows 帐户,而不是特定的 sql 用户?
我正在尝试使用 Windows 帐户连接到 SQL Server 数据库。在 sql 管理工作室中,我可以使用此帐户打开数据库,但不能使用我的 php 应用程序。这个用户不是sql用户,但是他对SQL数据库有权限。
我尝试使用 sql 用户,它适用于我的 php 应用程序。
是否可以从 php 应用程序使用我的 windows 帐户,而不是特定的 sql 用户?
有一部分代码带有连接字符串,您可以在其中提供实例名称、登录名、密码等,以便 PHP 连接到 MS SQL。您可以从 Windows 域更改凭据上的连接字符串。但它可以用于测试但不能用于生产:)
另一种方法是将 PHP 连接到您的 AD 并让用户在访问您的站点时从域输入登录名/密码。例如,它只是在 IIS 中完成(我没有在 Linux 上运行的 PHP 上使用域身份验证,但我知道 LDAP 可以帮助你)。
默认情况下,它会尝试使用 Windows Auth 建立连接。你可以试试下面的截图。如果您必须使用已定义的 WindowsUser 登录,请尝试上面文档链接中的代码。
$serverName = "serverName\sqlexpress"; //serverName\instanceName
// The connection will be attempted using Windows Authentication.
$connectionInfo = array( "Database"=>"dbName");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}