我正在尝试找到一种基于用户授权修改网页的方法。例如,资源的所有者应该看到edit
和delete
按钮,而普通用户则不应该看到这些按钮。
以下是我正在考虑的方法,但我不确定是否有更常见/更好的方法。
例如,假设有一个资源
project: {
name: string,
owner_id: id,
moderators: [ids],
other_stuff: string
}
使用描述当前登录用户的角色的属性扩展此对象是否是RESTful和良好做法?例如,假设此用户是主持人之一,则发送
project: {
name: string,
owner_id: id,
moderators: [ids],
other_stuff: string,
user_role: "moderator"
}
然后,客户端框架将使用project.user_role
来显示基于角色的控件,例如delete
和edit
。