我正在建立一个需要大量用户的系统。用户属于不同的组。每个组都有一个包含其权限的数组(例如,“主页”:“ rw”,“配置文件”:“ rw”)。考虑维护,在我的代码中实现该功能的最佳方法是什么?
只有拥有“所有者”权限的用户才能删除。 这是我用户的路线:
app.route('/users/delete/:userId').put(users.delete);
app.route('/users').get(users.checkUser, users.list);
(删除路由实际上会从用户更改“状态”的状态,这就是“ PUT”请求的原因)。例如,让所有用户调用checkUser。
我正在考虑在受保护的每条路由中创建一个中间件并对其进行处理,但是,此方法有几个问题需要维护。
这是我的用户控制器,用于检查从用户传递来的JWT令牌:
exports.checkUser = function (req, res, next) {
passport.authenticate('jwt', { session: false }, (err, user, info) => {
if (err) {
console.log(err);
return next(err);
}
if (!user) {
console.log("Não autenticado");
return res.sendStatus(403);
} else {
console.log("Autenticado");
return next();
}
})(req, res, next);
};
有人有提示吗?
答案 0 :(得分:0)
听起来您正在尝试构建sftp
服务器/客户端基础结构。
与其建议您从头开始编写一个应用程序,不建议您看一下其他人所做的事情,因为构建此类应用程序可能会非常耗时。
参考: