首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >express-ntlm返回错误的用户

express-ntlm返回错误的用户
EN

Stack Overflow用户
提问于 2019-01-28 22:51:18
回答 1查看 188关注 0票数 0

我正在使用express-ntlm在intranet设置中获取当前用户的windows ID。它在大多数情况下工作得很好,但偶尔会返回一个完全不同的人的ID。我猜这可能和会话有关吧?

代码语言:javascript
复制
const ntlm = require('express-ntlm');

module.exports = app => {

  app.use(
    ntlm({
      debug: function() {
        var args = Array.prototype.slice.apply(arguments);
        console.log.apply(null, args);
      },
      domain: 'MS',
      domaincontroller: 'ldap://something.com'
    })
  );
app.post('/get-user-details/', (req, res) => {
console.log(req.ntlm.UserName); //Returns correct user most of the time, but sometimes it returns different person who open site at the same time
});
EN

回答 1

Stack Overflow用户

发布于 2019-05-26 21:57:18

不幸的是,NTLM验证的是连接,而不是会话。这在过去是很好的,但现在已经没有意义了,因为浏览器倾向于一次打开多个连接来加快页面加载速度,而反向代理则共享到后端的连接。这就是问题所在:您的反向代理将重用已经通过身份验证的连接到后端,因此会混淆用户。要缓解此问题,必须确保您的反向代理启用了NTLM支持。

仍然有一个用于express-ntlmopen pull request,它添加了一个Keep-Alive属性,可以解决这个问题,不幸的是,它还没有经过广泛的测试,首先需要验证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54404505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档