我正在与 SAP Hybris Backoffice 合作,我们有三个不同的管理后台角色,每个角色都有自己的视角。
- 产品经理
- CMS 经理
- 用户管理员
这些角色的名称应该足够清楚地解释它们的作用。现在,可以为 Backoffice 中的经理分配多个角色,因为在较小的市场中,管理用户的人也经常管理产品和文章。假设我们现在想限制搜索结果,例如,当您仅在产品管理透视图中时,Backoffice 中的用户视图。
您可能首先想到的是可以添加并分配给角色的搜索限制,该角色将 SQL 添加到原始搜索查询的末尾以限制结果。
然而,这并不关心您在后台工作时的观点。例如,如果我只想在用户处于产品管理角度时应用此搜索限制,那么如何做到这一点并不明显。我认为是因为搜索限制的范围是全球性的,没有这种粒度。
然后在 Backoffice 中,我们有搜索初始化器小部件 Zk 组件。这些可以添加将发送到 Backoffice 中的搜索引擎的搜索条件。然而,这些将影响 Backoffice 中的用户 UI,因为它不像只是在用户进行的搜索结束时添加的不可见层。这增加了一个问题,因为用户在后台搜索界面中控制全局且唯一的运算符。因此,如果我在搜索初始化器中添加一个条件,该条件需要在查询末尾添加一个 AND 条件以限制结果,然后用户将全局条件运算符更改为 OR,那么用户得到的结果是不可预测的,而且大多是错误的。
那么,我是否错过了一些中间层,我可以在 Backoffice 中添加这样的限制,以影响具有特定角色的用户在特定角度进行的搜索,而不会影响 Backoffice UI 和用户体验?