允许已验证用户创建,允许更新如果请求的用户ID对应于它。
在代码中,可以使用以下逻辑来实现此权限控制:
以下是示例代码,展示如何使用这个逻辑来进行权限控制:
// 检查是否允许创建 function canCreate(req, res, next) { if (req.isAuthenticated()) { next(); } else { res.status(401).send('Unauthorized'); } }
// 检查是否允许更新 function canUpdate(req, res, next) { const resourceId = req.params.id; const ownerId = getResourceOwnerId(resourceId); const userId = req.user.id;
if (ownerId === userId) { next(); } else { res.status(401).send('Unauthorized'); } }
// 路由定义 app.post('/resources', canCreate, createResource); app.put('/resources/:id', canUpdate, updateResource);