node.js - iis作为反向代理: configure it to forward current windows loged user as a custom header

标签 node.js authentication iis reverse-proxy windows-authentication

我有一个 Node 休息 Web 服务,由 IIS 作为反向代理提供服务

我想知道是否有某种方法可以配置 iis 以添加当前登录用户的自定义 header ,就像使用 x-forwarded-for header 一样

我只需要将当前经过身份验证的用户(Windows 集成安全,通过 ntlm)获取到 Node 应用程序。

我认为告诉 iis 转发该信息将是最简单的路径,但欢迎任何其他解决方案

最佳答案

您可以尝试将经过身份验证的用户 (AUTH_USER) 的 IIS 服务器变量提升到 iisnode header ,并在 Node 应用程序上使用它。

所以在 IIS 上,

<configuration>                                                     
     .......
   <system.webServer>
      <iisnode promoteServerVars="AUTH_USER" />    
   </system.webServer>
</configuration>

然后在 Node 端,

var http = require('http');

http.createServer(function (req, res) {
    var username = req.headers['x-iisnode-auth_user'];  
}).listen(process.env.PORT); 

还有其他可以提升的IIS服务器变量,可以在 here: 找到

关于node.js - iis作为反向代理: configure it to forward current windows loged user as a custom header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57871632/

相关文章:

c# - Swashbuckle 5 找不到我的 ApiControllers

sharepoint - 如何将根网站重定向到网站集

javascript - 为什么异常会导致 Node.js 中的资源泄漏?

java - 我可以在我的 Java Web 应用程序中同时使用 FORM 和 BASIC 身份验证吗?

javascript - 登录时将自定义字段添加到 session 对象

java - Google App Engine - 仅对 POST 方法应用安全约束?

javascript - Nodejs - 使用 'private key' 编码为 Base64 并且只能在服务器中解码

node.js - 使用Angular的单页应用引擎时依赖socket.io/express.io中的 'disconnect'事件

node.js - html-docs.js 生成的文档为空

iis - 为什么大型 POST 请求无法到达我的 Azure Web 角色?