有许多方法可以设置后端节点的用户权限。js服务器,但基于角色设置单独的服务器实例不应是其中之一。NPM生态系统中已经有许多软件包可以帮助您解决问题,但根据具体情况,您可以自己为Express编写一个简单的中间件。js解决您的问题。示例:
export default function permit(...allowed) {
const isAllowed = role => allowed.indexOf(role) > -1;
// return a middleware
return (req, res, next) => {
if (req.user && isAllowed(req.user.role))
next(); // role is allowed, so continue on the next middleware
else {
response.status(403).json({message: "Forbidden"}); // user is forbidden
}
}
}
// Use as so
app.use("/api/private", permit("admin"));
app.use(["/api/foo", "/api/bar"], permit("owner", "employee"));
看见
middleware
。