【发布时间】:2018-06-27 05:46:50
【问题描述】:
我测试发现只有用户可以将其他人添加到他的冒充者列表中以供其他人冒充。但是其他用户不能自己添加到用户模仿者列表和模仿。管理员组的成员或用户自己都可以将其他人添加到用户模仿者列表中。这是否记录了我们可以在何处以及如何将任何用户自定义为像管理员组这样的添加模拟者?
【问题讨论】:
标签: java aem impersonation
我测试发现只有用户可以将其他人添加到他的冒充者列表中以供其他人冒充。但是其他用户不能自己添加到用户模仿者列表和模仿。管理员组的成员或用户自己都可以将其他人添加到用户模仿者列表中。这是否记录了我们可以在何处以及如何将任何用户自定义为像管理员组这样的添加模拟者?
【问题讨论】:
标签: java aem impersonation
首先,您的分析是正确的。模仿者列表是目标用户的属性。所以目标用户可以授予另一个用户(冒充者)扮演自己的权利。没有“冒充权”,即允许特定用户组冒充任何人。
因此,允许一组支持用户冒充其他业务用户的用例“支持用户组”将不起作用。每个单独的业务用户都必须向支持用户组授予模拟权限。
要更改模仿者列表,您只需要目标用户的写入权限。它可以是目标用户本身,也可以是“用户管理员”组的成员,或者“管理员”组的成员,或者您的项目已授予目标用户写入权限的任何其他用户或用户组。
如果您想要支持用户组模型,您有两种选择:
如果您使用 LDAP 集成,您可以在“用户同步”配置中为模拟属性添加一个静态值。因此,每个 LDAP 用户在登录时都会自动分配。
编写您自己的服务,该服务使用 UserAdmin-API 在后台静默分配模仿者。这还允许您使用任何您想要的业务逻辑。
PS:我没有找到任何好的官方文档。 Adobe 和 Jackrabbit 都没有。
【讨论】: