我在Sails.js中开发一个应用程序,我有两种用户;普通用户(应该能够查看自己的个人资料)和管理员(应该能够查看/编辑/删除每个用户'个人资料)。对于身份验证,我已经关注this example。
目前,我使用蓝图通过视图/views/user/show/userID
直接访问此信息,例如/views/user/show/ + user.id
,其中视图根据提供的用户ID显示信息(例如<%= user.name %>
。目前,任何人都可以访问任何配置文件。
我需要限制访问权限,以便&#34;定期&#34;用户只能访问他/她自己的个人资料,并且无法编辑/删除其他用户。
我不确定如何做到这一点,并且我尝试过使用自定义路线,但没有成功。
非常感谢任何建议/答案。
答案 0 :(得分:1)
您可以使用policy(即isAdmin.js
)来检查用户是否具有“管理员”用户角色,如果没有,则可以返回“禁止”错误代码。
然后在您的config/policies.js
中,您可以将特定政策isAdmin.js
与您的api方法相关联。
另一种有效的方法可能是定义isProfileOwner.js
政策,您可以在其中检查提交请求的用户是否是他想要操作的个人资料的所有者
希望这可以帮到你