本打算尝试用pm2启动pinus集群做多机分布,结果pm2启动进程后一直无法用`pinus list`命令查看进程信息
在增加日志打印adminUserPath和presentPath后发现自己启动的目录不是编译后的`/dist`目录,
当代码使用pwd命令获取项目启动路径的时候确实可以找到项目的adminUser,可是编译前的文件都是ts,项目无法直接读取
pinus会在pinus-admin中尝试加载对应环境(如development)的config/adminUser文件来校验查询的账号密码
下面是pinus-admin/lib/util/utils.ts中的代码
function defaultAuthUser(msg, env, cb) {
let adminUser = null;
let appBase = process.cwd();
// 这里获取路径
let adminUserPath = path.join(appBase, constants_1.DEFAULT_ADMIN_PATH.ADMIN_USER);
let presentPath = path.join(appBase, 'config', env, constants_1.DEFAULT_ADMIN_PATH.ADMIN_FILENAME);
//加载文件内容
if (canBeResolve(adminUserPath)) {
adminUser = require(adminUserPath);
}
else if (canBeResolve(presentPath)) {
adminUser = require(presentPath);
}
else {
cb(null);
return;
}
let username = msg['username'];
let password = msg['password'];
let md5Str = msg['md5'];
let len = adminUser.length;
if (md5Str) {
// 校验
for (let i = 0; i < len; i++) {
let user = adminUser[i];
let p = '';
if (user['username'] === username) {
p = md5(user['password']);
if (password === p) {
cb(user);
return;
}
}
}
}
else {
for (let i = 0; i < len; i++) {
let user = adminUser[i];
if (user['username'] === username && user['password'] === password) {
cb(user);
return;
}
}
}
cb(null);
}
浙公网安备 33010602011771号