0

我正在尝试根据当前用户的用户组在我的自定义后台扩展中填充集合浏览器。我有一个要显示的自定义类型。下面是一个复制我的情况的示例,因为在这种情况下我使用的是父类型“CustomTask”,它有两个子类型 - “ATask”和“BTask”

我有三个用户组,它们的用户只能看到某些类型的任务。

  • “myAdminGroup”用户应该看到所有类型的任务,因为它是用父类型定义的
  • “customGroupA”用户只能看到列出的“ATask”项目
  • “customGroupB”用户应该只看到列出的“BTask”项目

我面临的问题是,无论收集浏览器中的用户登录类型是什么,总是会被填充并显示所有类型。我的假设是用户只会看到为每个组件和指定主体配置的项目类型。情况似乎并非如此。

我在这里有什么遗漏,或者这在技术上是不可能的吗?任何其他建议来实现这一点将不胜感激!

下面是我用来复制我的情况的代码片段。父类型->“CustomTask”有两个子类型->“ATask”和“BTask”

    <context type="CustomTask" parent="GenericItem" component="mycustombackoffice-collection-browser" principal="myAdminGroup">
        <cb:collection-browser xmlns:cb="http://www.hybris.com/cockpitng/config/collectionbrowser">
            <cb:available-molds default-mold="list-view">
                <cb:mold spring-bean="listViewCollectionBrowserMoldStrategy"/>
            </cb:available-molds>
        </cb:collection-browser>
    </context>

    <context type="ATask" component="mycustombackoffice-collection-browser" principal="customAGroup">
        <cb:collection-browser xmlns:cb="http://www.hybris.com/cockpitng/config/collectionbrowser">
            <cb:available-molds default-mold="list-view">
                <cb:mold spring-bean="listViewCollectionBrowserMoldStrategy"/>
            </cb:available-molds>
        </cb:collection-browser>
    </context>  

<context type="BTask" component="mycustombackoffice-collection-browser" principal="customBGroup">
    <cb:collection-browser xmlns:cb="http://www.hybris.com/cockpitng/config/collectionbrowser">
        <cb:available-molds default-mold="list-view">
            <cb:mold spring-bean="listViewCollectionBrowserMoldStrategy"/>
        </cb:available-molds>
    </cb:collection-browser>
</context>  
4

1 回答 1

0

I was able to solve this issue by using search restrictions. So I defined different search restrictions for each usergroup to ensure that only the desired sub type is being visible for each group.

于 2020-01-24T15:53:30.313 回答