Node -SQL с node.js и встроенной системой безопасности

У меня есть пример кода, который успешно подключается к SQL Server с использованием имени пользователя и пароля Microsoft SQL Server. Но мне было интересно, есть ли способ использовать интегрированную безопасность с помощью этого script. В основном это означает использование зарегистрированных учетных данных пользователя без предоставления пароля в script.

var sql = require('mssql');

var config = {
    server: '127.0.0.1', 
    database: 'master',  
    user: 'xx',
    password: 'xxx',

    options : {
        trustedConnection : true
         }
}


var connection = new sql.Connection(config, function(err) {
    // ... error checks
    if(err) {
    return console.log("Could not connect to sql: ", err);
    }

    // Query

    var request = new sql.Request(connection);
    request.query('select * from dbo.spt_monitor (nolock)', function(err, recordset) {
        // ... error checks

        console.dir(recordset);
    });

    // Stored Procedure


});

Ответ 1

Желаю, чтобы я мог добавить это как комментарий, но пока не хватает репутации... но что происходит, когда вы запускаете это без предоставления имени пользователя/пароля в объекте config?

Аутентификация Windows происходит на уровне входа, поэтому нет необходимости предоставлять ее на уровне приложения.

Просто просмотрите документацию и, похоже, вы не можете предоставить строчную строку подключения для подключения, но для подключения вы хотите создать что-то похожее на это:

var connectionString= 'Server=MyServer;Database=MyDb;Trusted_Connection=Yes;'

Исходный код модуля mssql находится здесь: https://github.com/patriksimek/node-mssql/blob/master/src/msnodesql.coffee... возможно, вы можете разблокировать и выполнить запрос на перенос, который предоставит необязательный флаг, следует ли использовать проверку подлинности Windows или нет, и этот флаг удалит Uid={#{user}};Pwd={#{password}} (поскольку он не нужен для проверки подлинности Windows) из переменной CONNECTION_STRING_PORT в исходном коде модуля.