SailsJS 用户配置文件路由
SailsJS User Profiles Routing
我正在 Sails.js 开发一个应用程序,我有两种用户;普通用户(应该能够查看自己的个人资料)和管理员(应该能够 view/edit/delete 每个用户的个人资料)。对于身份验证,我遵循了 this example.
目前,我正在使用蓝图通过视图 /views/user/show/userID
直接访问此信息,例如/views/user/show/ + user.id
,其中视图根据提供的用户 ID 显示信息(例如 <%= user.name %>
。目前,任何人都可以因此访问任何配置文件。
我需要限制访问权限,以便 "regular" 用户只能访问 his/her 自己的个人资料,并且不能 edit/delete 其他用户。
我不确定具体该怎么做,我试过使用自定义路由,但没有成功。
任何 suggestion/answer 将不胜感激。
您可以使用 policy(即 isAdmin.js
)来检查用户是否具有 "administrator" 用户角色,如果没有,您可以 return a "forbidden" 错误代码。
然后在您的 config/policies.js
中,您可以将特定策略 isAdmin.js
关联到您的 api 方法。
另一个有效的方法可能是定义一个 isProfileOwner.js
策略,您可以在其中检查提交请求的用户是否是他想要操作的配置文件的所有者
希望对您有所帮助
我正在 Sails.js 开发一个应用程序,我有两种用户;普通用户(应该能够查看自己的个人资料)和管理员(应该能够 view/edit/delete 每个用户的个人资料)。对于身份验证,我遵循了 this example.
目前,我正在使用蓝图通过视图 /views/user/show/userID
直接访问此信息,例如/views/user/show/ + user.id
,其中视图根据提供的用户 ID 显示信息(例如 <%= user.name %>
。目前,任何人都可以因此访问任何配置文件。
我需要限制访问权限,以便 "regular" 用户只能访问 his/her 自己的个人资料,并且不能 edit/delete 其他用户。
我不确定具体该怎么做,我试过使用自定义路由,但没有成功。
任何 suggestion/answer 将不胜感激。
您可以使用 policy(即 isAdmin.js
)来检查用户是否具有 "administrator" 用户角色,如果没有,您可以 return a "forbidden" 错误代码。
然后在您的 config/policies.js
中,您可以将特定策略 isAdmin.js
关联到您的 api 方法。
另一个有效的方法可能是定义一个 isProfileOwner.js
策略,您可以在其中检查提交请求的用户是否是他想要操作的配置文件的所有者
希望对您有所帮助