我有一个在远程服务器上运行的节点js服务器。它使用node-mssql和msnodesqlv8驱动程序连接到另一台远程服务器中的MS SQL数据库。这是连接代码:
var conn = new sql.ConnectionPool({
database: "***",
server: "***",
driver: "msnodesqlv8",
options: {
trustedConnection: true
}
});
当我在本地计算机上运行nodejs服务器进行开发时,它将使用Windows凭据登录,因此工作正常。
现在,nodejs应用程序正在远程托管,它尝试使用服务器的凭据登录,但是它没有访问权限,所以出现此错误:
{ ConnectionError: [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user '{name of server's computer}'.
我希望服务器改为使用发出http请求的用户的凭据来访问数据库。
我正在使用IIS 10和iisnode托管nodejs服务器。 IIS配置为使用Windows身份验证和NTLM作为提供程序进行身份验证。我知道用户在访问网页时已通过身份验证,因为用户名出现在日志中。
我已经进行了许多Google搜索,发现ASP.NET具有“ ASP.NET模拟”功能,正是我所需要的,除了它似乎不适用于节点之外……是否可以模拟nodejs中的用户?