0

我正在与 SAP Hybris Backoffice 合作,我们有三个不同的管理后台角色,每个角色都有自己的视角。

  • 产品经理
  • CMS 经理
  • 用户管理员

这些角色的名称应该足够清楚地解释它们的作用。现在,可以为 Backoffice 中的经理分配多个角色,因为在较小的市场中,管理用户的人也经常管理产品和文章。假设我们现在想限制搜索结果,例如,当您仅在产品管理透视图中时,Backoffice 中的用户视图。

您可能首先想到的是可以添加并分配给角色的搜索限制,该角色将 SQL 添加到原始搜索查询的末尾以限制结果。

然而,这并不关心您在后台工作时的观点。例如,如果我只想在用户处于产品管理角度时应用此搜索限制,那么如何做到这一点并不明显。我认为是因为搜索限制的范围是全球性的,没有这种粒度。

然后在 Backoffice 中,我们有搜索初始化器小部件 Zk 组件。这些可以添加将发送到 Backoffice 中的搜索引擎的搜索条件。然而,这些将影响 Backoffice 中的用户 UI,因为它不像只是在用户进行的搜索结束时添加的不可见层。这增加了一个问题,因为用户在后台搜索界面中控制全局且唯一的运算符。因此,如果我在搜索初始化器中添加一个条件,该条件需要在查询末尾添加一个 AND 条件以限制结果,然后用户将全局条件运算符更改为 OR,那么用户得到的结果是不可预测的,而且大多是错误的。

那么,我是否错过了一些中间层,我可以在 Backoffice 中添加这样的限制,以影响具有特定角色的用户在特定角度进行的搜索,而不会影响 Backoffice UI 和用户体验?

4

1 回答 1

0

我无法发现这是内部 SAP 网络上其他开发人员的常见用例,因此我必须自己寻找解决方案。

可以使用 SearchRestrictionService 设置会话搜索限制。这些只会影响您正在使用的当前会话。您可以覆盖透视选择器或角色切换器的小部件控制器。由于改变角色通常会改变观点,因此这也有效。

然后,您只需使用 Backoffice 为该员工添加会话本地搜索限制,并使他们的交互完全个人化,同时仍然通过会话搜索限制完全控制他们的视图和能力。

于 2019-04-05T19:19:06.463 回答