从特定的Backoffice角度限制用户搜索结果

时间:2019-03-29 05:19:16

标签: hybris backoffice

我正在使用SAP Hybris Backoffice,我们有三个不同的管理Backoffice角色,每个角色都有自己的视角。

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

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

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

但是,这并不关心您在Backoffice中工作时所处的观点。例如,如果我只想在用户处于产品管理角度时才应用此搜索限制,那么这样做的方法就不那么明显了。我认为是因为搜索限制的范围是全球性的,没有这种粒度。

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

那么,我是否缺少一些中间层,可以在Backoffice中添加这样的限制,以在不影响Backoffice UI和用户体验的情况下,以某种角度影响具有特定角色的用户进行的搜索?

1 个答案:

答案 0 :(得分:0)

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

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

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