【问题标题】:Node-SQL with node.js and MS integrated Security具有 node.js 和 MS 集成安全性的 Node-SQL
【发布时间】:2015-05-26 13:45:30
【问题描述】:

我有一些使用 Microsoft SQL Server 用户名和密码成功连接到 SQL Server 的示例代码。但我想知道是否有办法在这个脚本中使用集成安全性。基本上这意味着使用登录用户的凭据而不在脚本中提供密码。

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


});

【问题讨论】:

标签: sql-server node.js


【解决方案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 身份验证,并且该标志将删除来自模块源代码中的CONNECTION_STRING_PORT 变量的Uid={#{user}};Pwd={#{password}}(因为Windows 身份验证不需要它)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 2013-03-04
    • 2012-05-31
    • 2010-10-25
    • 1970-01-01
    相关资源
    最近更新 更多