【问题标题】:how to get current windows user from express?如何从 express 获取当前的 windows 用户?
【发布时间】:2014-12-24 03:36:39
【问题描述】:

您好,我是 Nodejs 和 express 框架的新手。

我正在实现一个简单的 CRUD 应用程序,用户希望从 MS 窗口访问该页面。我想注销当前的 windows 用户名。

我已尝试在页面上记录 User-Agent 字符串,但似乎 User-Agent 不包含 windows 用户名。这是真的?什么是正确的实现方式?

res.render('search', {user: req.get('User-Agent')});    

然后在玉,

body
    p welcome, #{user}!

这是我得到的:

Welcome, Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36!

【问题讨论】:

  • 您需要 NTLM 身份验证。
  • 谢谢,SLaks。这是仅用于身份验证还是仅用于读取当前登录用户名?
  • 您只需要express-ntlm

标签: node.js express user-agent


【解决方案1】:

User-Agent 不包括 Windows 用户名。请查看Wikipedia 了解更多信息。

解决您的问题的一个可能方法是 NTLM 身份验证。要添加此安装并可选择将 express-ntlm 保存为依赖项:

npm install express-ntlm [--save]

然后 require 并将其添加为中间件来表达:

var ntlm = require('express-ntlm');
app.use(ntlm());

然后你就可以在jade中使用UserName了:

body
    p welcome, #{ntlm.UserName}!

如果您想进行真正的 NTLM 身份验证并使用 Active Directory 验证凭据,您也可以这样做:

app.use(ntlm({
    domain: 'MYDOMAIN',
    domaincontroller: 'ldap://myad.example',
}));

【讨论】:

  • 感谢@Fabio 的解释!
  • ===================== app.js ================= === app.use('/', 路线); app.use(ntlm()); app.use('/search', 搜索); ===================== search.js ===================== res.render('搜索',{用户:req.ntlm.用户名}); });嗨@Fabio,我想我对这里的路由感到困惑。如果我想让 ntlm() 运行 localhost:3000/search 在这种情况下我应该写什么
  • 中间件按照它们定义的顺序执行。因此,在您的设置中它应该可以工作。不需要显式定义user,因为ntlm.UserName 可用于渲染上下文(请参阅我的jade 示例)。
  • app.use('/', routes); var ntlm = require('express-ntlm'); app.use(ntlm()); app.use('/search', 搜索);这给了我一个 401 错误。在 chrome 控制台中:无法加载资源:net::ERR_UNEXPECTED 搜索:1 GET localhost:3000/search net::ERR_UNEXPECTED 搜索:1 GET localhost:3000/search net::ERR_UNEXPECTED
  • 嗨,@Fabio Poloni,我正在重新审视这个问题。感谢您之前的建议。我现在意识到我遇到的问题可能很复杂。我在stackoverflow.com/questions/28183444/… 中重新发布了我的问题我刚刚看到您实际上是 express-ntlm lib 的贡献者。哇!你知道为什么我的 request.connection.ntlm 为空吗?谢谢。
猜你喜欢
  • 1970-01-01
  • 2010-09-20
  • 2023-03-31
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-05
  • 1970-01-01
相关资源
最近更新 更多