我希望在 sling 的 userManager 中的用户或组发生更改时收到通知。比如新建组时,我需要在/content下新建一个同名节点。创建新用户时,我想给他们/content/foo 的写权限。以及删除对象时的类似拆卸步骤。
我尝试注册一个 EventHandler(org.osgi.service.event.EventHandler),将 event.topics 设置为“*”(所有主题),但这仅捕获资源更改而不是 userManager 更改,因为用户和组是合成资源(我思考)
我尝试使用 org.apache.sling.api.request.SlingRequestListener,但 SlingRequestEvent 没有提供任何可以帮助我区分请求的信息(或者我不知道如何区分)。另外,我不确定这是否甚至可以用于处理请求后需要调用的回调。
我已经将过滤器用于不同的问题,并且我也尝试将它们应用于此目的。但它们有其局限性——我的过滤器在请求之前被调用,所以在决定采取行动之前不可能知道请求是否会导致成功。
关于如何倾听和响应 sling 的用户和组模型变化的任何建议?