#node.js #mongodb #express #authentication #mongoose
Вопрос:
здравствуйте, я пытаюсь реализовать метод обработки возвращаемых данных в своем экспресс-проекте, я хочу передать данные во всех моих контроллерах конечному промежуточному программному обеспечению, задача которого состоит в том, чтобы проверить, имеет ли пользователь полномочия работать с документом, а затем вернуть данные ,
req.document = order;
req.validateFields = [
order.senderId._id.toString(),
order.recieverId._id.toString(),
order.driverId._id.toString(),
];
next();
затем я обрабатываю это в своем последнем промежуточном программном обеспечении следующим образом
app.use(async (req, res, next) => {
const document = req.document;
if (!req.validateFields.includes(req.user._id.toString()))
console.log("not authorized");
await document.save();
res.status(200).json({
document,
});
});
прежде всего, является ли это плохой практикой ? поскольку я сохраняю свой документ после прохождения проверки пользователя , поэтому манипуляции с данными, выполненные в контроллерах, не будут сохранены, если пользователь не прошел проверку подлинности, а затем как обрабатывать другие методы документа, такие как findByIdandDelete, findByIdAndUpdate, которые сразу сохранят документ?
Спасибо.