如何在 NodeJS 中获取 OS 用户名?
How to get OS username in NodeJS?
我如何使用 NodeJS get/find 计算机所有者当前(登录时)使用的用户名?
我搜索了一下,但没有找到任何东西。
这一个对象您将获得用户名:
let os = require('os')
console.log(os.userInfo());
如果它不需要跨操作系统(仅基于 *nix),您可以采用一种方法(请记住,如果您对其进行参数化,使用 exec 可能存在潜在风险):
const Promise = require( 'bluebird' ),
exec = Promise.promisify( require( 'child_process' ).exec );
exec( 'id -un' ).then( ( username )=> {
// do something about it
});
如果你想使用 bluebird 作为 promise,请不要忘记:npm install bluebird --save
我不知道为什么,但有人添加了一个答案,然后很快就删除了...不过我很快就抓住了它,经过检查,这是我做事的最短、最有效的方法之前问过:
require("os").userInfo().username
唯一的问题是,在 Windows 10 中,它 returns 已使用的所有者帐户的名字(请注意)。
其他一切都完全正常!
如果你想获取有关客户端的信息 在你的服务器上调用路由,你必须解析客户端用户代理。
https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
您可以使用这些示例获取带有节点的客户端用户代理:
How to handle user-agent in nodejs environment?
当然,最简单的方法是使用 username
安装:
$ npm install username
然后:
const username = require('username');
(async () => {
console.log(await username());
//=> 'current_username'
})();
process.env.USER
至少在 MAC 或 Linux 中也应该有效。例如
let user = process.env.USER || ""
你可以简单地使用
app.getPath('home')
它将return当前用户的主路径。
无依赖方法:
function getUsername() {
return (
process.env.SUDO_USER ||
process.env.C9_USER ||
process.env.LOGNAME ||
process.env.USER ||
process.env.LNAME ||
process.env.USERNAME
);
}
我如何使用 NodeJS get/find 计算机所有者当前(登录时)使用的用户名?
我搜索了一下,但没有找到任何东西。
这一个对象您将获得用户名:
let os = require('os')
console.log(os.userInfo());
如果它不需要跨操作系统(仅基于 *nix),您可以采用一种方法(请记住,如果您对其进行参数化,使用 exec 可能存在潜在风险):
const Promise = require( 'bluebird' ),
exec = Promise.promisify( require( 'child_process' ).exec );
exec( 'id -un' ).then( ( username )=> {
// do something about it
});
如果你想使用 bluebird 作为 promise,请不要忘记:npm install bluebird --save
我不知道为什么,但有人添加了一个答案,然后很快就删除了...不过我很快就抓住了它,经过检查,这是我做事的最短、最有效的方法之前问过:
require("os").userInfo().username
唯一的问题是,在 Windows 10 中,它 returns 已使用的所有者帐户的名字(请注意)。 其他一切都完全正常!
如果你想获取有关客户端的信息 在你的服务器上调用路由,你必须解析客户端用户代理。
https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
您可以使用这些示例获取带有节点的客户端用户代理:
How to handle user-agent in nodejs environment?
当然,最简单的方法是使用 username
安装:
$ npm install username
然后:
const username = require('username');
(async () => {
console.log(await username());
//=> 'current_username'
})();
process.env.USER
至少在 MAC 或 Linux 中也应该有效。例如
let user = process.env.USER || ""
你可以简单地使用
app.getPath('home')
它将return当前用户的主路径。
无依赖方法:
function getUsername() {
return (
process.env.SUDO_USER ||
process.env.C9_USER ||
process.env.LOGNAME ||
process.env.USER ||
process.env.LNAME ||
process.env.USERNAME
);
}