Я пытаюсь подключиться к базе данных сервера SQL с учетной записью Windows. В студии управления sql я могу открыть базу данных с помощью этой учетной записи, но не с помощью своего приложения php. Этот пользователь не является пользователем SQL, но он имеет право на базу данных SQL.
Я пытался с пользователем sql, и он работает с моим приложением php.
Можно ли использовать мою учетную запись Windows из приложения php, а не конкретный пользователь sql?
По умолчанию он пытается установить соединение с аутентификацией Windows. Вы можете попробовать разрезанный ниже. Если вам нужно использовать определенного 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));
}
Существует часть кода со строкой подключения, в которой вы предоставляете имя экземпляра, логин, пароль и т. Д. Для подключения PHP к MS SQL. Вы можете изменить строку подключения на свои учетные данные из домена Windows. Но это приемлемо для тестирования, но не для производства 🙂
Другой способ — подключить PHP к вашей AD и заставить пользователя вводить логин / пароль от домена, когда они заходят на ваш сайт. Например, это просто делается в IIS (я не работаю с аутентификацией домена на PHP, который работает на Linux, но, как я знаю, LDAP может помочь вы).