我需要通过在IIS / PHP上运行的PDO获得的Windows凭证登录MsSQL。我无法达到这个我只是获得:
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'myuser'
要做到这一点,我使用了一个假的MsSQL帐户,他的凭据隐藏在PHP代码中。我可以顺便登录我的Active Directory服务器,之后我还需要登录公司网络中的MsSQL服务器。
这是我的PHP类中连接的构造函数:
public function __construct($host, $user, $pass, $dbname) {
$this->dbh = new PDO("sqlsrv:Server=".$host.
";Database=".$dbname.
";TransactionIsolation=".PDO::SQLSRV_TXN_READ_UNCOMMITTED,
$user,$pass);
}
我得到用户并从POST数据包传递,我无法使用单点登录,因为这是一个带有json答案的中间件,也适用于没有活动Windows登录实例的智能手机设备。
答案 0 :(得分:0)
不幸的是,目前的版本无法实现。当您传递用户名和密码时,sqlsrv扩展将始终使用SQL Server身份验证而不是Windows身份验证。请仔细查看以下链接。
https://msdn.microsoft.com/en-us/library/ff628159(v=sql.105).aspx