Node.js 路由能否向不同的角色类型显示不同的信息?
如果请求来自“内容用户”,则/API/users/(例如)使用单个用户的配置文件对象进行响应是否存在安全隐患?如果“管理员”请求相同的/API/users/route,则会返回系统上所有用户的列表 ExpressJS的大多数ACL扩展似乎设计为:Node.js 路由能否向不同的角色类型显示不同的信息?,node.js,api,security,express,acl,Node.js,Api,Security,Express,Acl,如果请求来自“内容用户”,则/API/users/(例如)使用单个用户的配置文件对象进行响应是否存在安全隐患?如果“管理员”请求相同的/API/users/route,则会返回系统上所有用户的列表 ExpressJS的大多数ACL扩展似乎设计为: if role == 'admin' { return AdminView; } else { return error; } 但它们似乎没有考虑多个if-else角色场景,例如: /api/用户 if (role == 'user
if role == 'admin' {
return AdminView;
} else {
return error;
}
但它们似乎没有考虑多个if-else角色场景,例如:
/api/用户
if (role == 'user') {
return UserProfileObject;
} else if (role == 'teacher') {
return TeacherProfile + ListOfStudents
} else if (role == 'admin') {
return AllUsers;
} else {
return error;
}
只需一句评论:您的建议将非常难以调试:您永远无法确定您的系统是否真的只有一个用户,或者验证是否失败。相反,如果管理员用户真的只想要用户的详细信息,他们总是会得到一个用户列表,而不是…测试不是通过像Mocha这样的东西来完成吗?您可以很容易地准备一个脚本来测试这两个场景。从我的观点来看,我认为问题中提出的API模型是一种优雅的方式,可以用“角色不可知”的方式封装场景?你怎么认为?