【发布时间】:2018-02-09 03:19:54
【问题描述】:
我正在尝试了解如何扩展 wolkenkit 身份验证层。
假设我想要具有不同角色的用户:普通、版主和管理员。
普通用户可以查看和修改自己的内容,但不允许修改其他用户的内容。
版主用户可以修改所有条目,但除了自己的内容外,无权删除任何内容。
管理员用户可以修改和删除所有内容。
还有未经身份验证的 guest 用户可以阅读所有内容但不能修改任何内容。
阅读Write model: Configuring authorization 的文档,我可以通过编写以下内容来模拟guest/正常用例:
const initialState = {
isAuthorized: {
commands: {
issue: { forAuthenticated: false, forPublic: false }
},
events: {
issued: { forAuthenticated: true, forPublic: true }
}
}
};
根据我的要求,我需要在此对象中定义其他角色。类似{ forModerator: true, forAdmin: true }。
还有Granting access from a command 可以在运行时更改权限,但我不确定这是否可行。即使是这样,那感觉也很hacky。
这有可能吗?
【问题讨论】:
标签: authorization acl user-roles wolkenkit