Javascript 如何在NodeJS中获取操作系统用户名?
如何使用NodeJS获取/查找计算机所有者当前(登录时)使用的用户名Javascript 如何在NodeJS中获取操作系统用户名?,javascript,node.js,electron,userid,Javascript,Node.js,Electron,Userid,如何使用NodeJS获取/查找计算机所有者当前(登录时)使用的用户名 我搜索了一下,但没有找到任何东西。这一个对象您将获得用户名: let os = require('os') console.log(os.userInfo()); 如果它不需要跨操作系统(仅基于*nix),您可以这样做(请记住,如果您将其参数化,使用exec可能有潜在风险): 如果你想用蓝鸟做承诺,别忘了:npm安装蓝鸟--save我不知道为什么,但有人添加了一个答案,然后很快删除了它。。。不过,我很快就抓住了它,经过检查,
我搜索了一下,但没有找到任何东西。这一个对象您将获得用户名:
let os = require('os')
console.log(os.userInfo());
如果它不需要跨操作系统(仅基于*nix),您可以这样做(请记住,如果您将其参数化,使用exec可能有潜在风险):
如果你想用蓝鸟做承诺,别忘了:
npm安装蓝鸟--save
我不知道为什么,但有人添加了一个答案,然后很快删除了它。。。不过,我很快就抓住了它,经过检查,这是完成我之前要求的任务的最短、最有效的方法:
require(“os”).userInfo().username
唯一的问题是,在Windows 10中,它返回已使用的所有者帐户的名字(只是一个提示)。
其他一切都很好 如果要获取有关客户端的信息,请在服务器上调用路由,必须解析客户端useragent 您可以使用以下示例获取具有节点的客户端用户代理:
当然,最简单的方法就是使用 安装: 然后:
process.env.USER
至少也应该在MAC或Linux中工作。e、 g
let user = process.env.USER || ""
你可以简单地使用
app.getPath('home')
它将返回当前用户的主路径。它将为您提供服务器的主机名,而不是客户端的主机名。实际上,您应该使用const os=require('os');因为os是一个不可变的变量。我这么做是因为它只在nodejs的v7中可用。这是一个电子可能无法使用的新特性。如果它有效,那就好了!这是不正确的,节点是在服务器端执行的,因此它将为您提供有关服务器的信息,而不是有关客户端的信息。他在哪里提到他需要客户端登录?node.js是服务器端代码?“我如何找到计算机所有者当前使用的用户名”好的,我理解,没有看到电子标签。我们不是在web环境中,而是在一个繁重的客户端环境中。没关系。这与OP的要求完全无关。Hai@carlos,我已经实现了相同的功能,并尝试在一个GET-rest api中添加此代码。我试图将username()函数的响应附加到response.send()方法,但它没有返回。请在下面找到我正在尝试的代码:var user=(async()=>{await username();}());res.status(200).send({success:'true',message:user});请不要理会我的上述评论,问题已经解决了。Hai@carlos,当我试图将相同的代码移动到linux服务器并使用getrestapi时,我是从客户机上点击的。我得到的是linux服务器用户,而不是点击url的客户端用户。当我在本地运行应用程序时,在我的windows计算机中也可以使用相同的方法。有什么帮助吗@kishoreaoe此模块基本上会将登录用户(在本例中为服务器用户)返回给您,您需要解决此问题,以了解此模块如何帮助您获取客户端用户,可能不是因为它将获取root或登录用户名。
const username = require('username');
(async () => {
console.log(await username());
//=> 'current_username'
})();
let user = process.env.USER || ""
app.getPath('home')