After a lot of tries and errors, i finally got it:
This lets the user only login in the sites he got the rights for and also shows only the site he can access in the sidebar.
Next I am trying to restrict the media collections
privilegeTargets:
'Neos\Flow\Security\Authorization\Privilege\Entity\Doctrine\EntityPrivilege':
'EQ.Finland:Site.Finland':
matcher: 'isType("Neos\Neos\Domain\Model\Site") && property("nodeName") == "eq-finland"'
'EQ.France:Site.France':
matcher: 'isType("Neos\Neos\Domain\Model\Site") && property("nodeName") == "eq-france"'
'EQ.Germany:Site.Germany':
matcher: 'isType("Neos\Neos\Domain\Model\Site") && property("nodeName") == "eq-germany"'
'EQ.Greece:Site.Greece':
matcher: 'isType("Neos\Neos\Domain\Model\Site") && property("nodeName") == "eq-greece"'
'EQ.International:Site.International':
matcher: 'isType("Neos\Neos\Domain\Model\Site") && property("nodeName") == "eq-international"'
'EQ.Poland:Site.Poland':
matcher: 'isType("Neos\Neos\Domain\Model\Site") && property("nodeName") == "eq-poland"'
'EQ.Samples:Site.Samples':
matcher: 'isType("Neos\Neos\Domain\Model\Site") && property("nodeName") == "eq-samples"'
'Neos\Neos\Security\Authorization\Privilege\NodeTreePrivilege':
'EQ.Finland:Nodes.Finland':
matcher: 'isDescendantNodeOf("/sites/eq-finland")'
'EQ.France:Nodes.France':
matcher: 'isDescendantNodeOf("/sites/eq-france")'
'EQ.Germany:Nodes.Germany':
matcher: 'isDescendantNodeOf("/sites/eq-germany")'
'EQ.Greece:Nodes.Greece':
matcher: 'isDescendantNodeOf("/sites/eq-greece")'
'EQ.International:Nodes.International':
matcher: 'isDescendantNodeOf("/sites/eq-international")'
'EQ.Poland:Nodes.Poland':
matcher: 'isDescendantNodeOf("/sites/eq-poland")'
'EQ.Samples:Nodes.Samples':
matcher: 'isDescendantNodeOf("/sites/eq-samples")'
roles:
# Grant non-authenticated users permission to all sites & assets
'Neos.Flow:Anonymous':
privileges:
-
privilegeTarget: 'EQ.Finland:Site.Finland'
permission: GRANT
-
privilegeTarget: 'EQ.France:Site.France'
permission: GRANT
-
privilegeTarget: 'EQ.Germany:Site.Germany'
permission: GRANT
-
privilegeTarget: 'EQ.Greece:Site.Greece'
permission: GRANT
-
privilegeTarget: 'EQ.International:Site.International'
permission: GRANT
-
privilegeTarget: 'EQ.Poland:Site.Poland'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
# Grant administrators permission to all sites, nodes, assets & collections
'Neos.Neos:Administrator':
privileges:
-
privilegeTarget: 'EQ.Finland:Site.Finland'
permission: GRANT
-
privilegeTarget: 'EQ.Finland:Nodes.Finland'
permission: GRANT
-
privilegeTarget: 'EQ.France:Site.France'
permission: GRANT
-
privilegeTarget: 'EQ.France:Nodes.France'
permission: GRANT
-
privilegeTarget: 'EQ.Germany:Site.Germany'
permission: GRANT
-
privilegeTarget: 'EQ.Germany:Nodes.Germany'
permission: GRANT
-
privilegeTarget: 'EQ.Greece:Site.Greece'
permission: GRANT
-
privilegeTarget: 'EQ.Greece:Nodes.Greece'
permission: GRANT
-
privilegeTarget: 'EQ.International:Site.International'
permission: GRANT
-
privilegeTarget: 'EQ.International:Nodes.International'
permission: GRANT
-
privilegeTarget: 'EQ.Poland:Site.Poland'
permission: GRANT
-
privilegeTarget: 'EQ.Poland:Nodes.Poland'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
# Grant administrators permission to all sites, nodes, assets & collections
'WG.BaseSite:Editor':
label: 'Editor Global'
describtion: 'Grants editor access to all sites.'
parentRoles: ['Neos.Neos:EditorRestricted']
privileges:
-
privilegeTarget: 'EQ.Finland:Site.Finland'
permission: GRANT
-
privilegeTarget: 'EQ.Finland:Nodes.Finland'
permission: GRANT
-
privilegeTarget: 'EQ.France:Site.France'
permission: GRANT
-
privilegeTarget: 'EQ.France:Nodes.France'
permission: GRANT
-
privilegeTarget: 'EQ.Germany:Site.Germany'
permission: GRANT
-
privilegeTarget: 'EQ.Germany:Nodes.Germany'
permission: GRANT
-
privilegeTarget: 'EQ.Greece:Site.Greece'
permission: GRANT
-
privilegeTarget: 'EQ.Greece:Nodes.Greece'
permission: GRANT
-
privilegeTarget: 'EQ.International:Site.International'
permission: GRANT
-
privilegeTarget: 'EQ.International:Nodes.International'
permission: GRANT
-
privilegeTarget: 'EQ.Poland:Site.Poland'
permission: GRANT
-
privilegeTarget: 'EQ.Poland:Nodes.Poland'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
'EQ.Finland:EditorFinland':
label: 'Editor Finland'
describtion: 'Grants editor access to the finnish site.'
parentRoles: ['Neos.Neos:EditorRestricted']
privileges:
-
privilegeTarget: 'EQ.Finland:Site.Finland'
permission: GRANT
-
privilegeTarget: 'EQ.Finland:Nodes.Finland'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
'EQ.France:EditorFrance':
label: 'Editor France'
describtion: 'Grants editor access to the french site.'
parentRoles: ['Neos.Neos:EditorRestricted']
privileges:
-
privilegeTarget: 'EQ.France:Site.France'
permission: GRANT
-
privilegeTarget: 'EQ.France:Nodes.France'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
'EQ.Germany:EditorGermany':
label: 'Editor Germany'
describtion: 'Grants editor access to the german site.'
parentRoles: ['Neos.Neos:EditorRestricted']
privileges:
-
privilegeTarget: 'EQ.Germany:Site.Germany'
permission: GRANT
-
privilegeTarget: 'EQ.Germany:Nodes.Germany'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
'EQ.Greece:EditorGreece':
label: 'Editor Greece'
describtion: 'Grants editor access to the greek site.'
parentRoles: ['Neos.Neos:EditorRestricted']
privileges:
-
privilegeTarget: 'EQ.Greece:Site.Greece'
permission: GRANT
-
privilegeTarget: 'EQ.Greece:Nodes.Greece'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
'EQ.International:EditorInternational':
label: 'Editor International'
describtion: 'Grants editor access to the international site.'
parentRoles: ['Neos.Neos:EditorRestricted']
privileges:
-
privilegeTarget: 'EQ.International:Site.International'
permission: GRANT
-
privilegeTarget: 'EQ.International:Nodes.International'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
'EQ.Poland:EditorPoland':
label: 'Editor Poland'
describtion: 'Grants editor access to the polish site.'
parentRoles: ['Neos.Neos:EditorRestricted']
privileges:
-
privilegeTarget: 'EQ.Poland:Site.Poland'
permission: GRANT
-
privilegeTarget: 'EQ.Poland:Nodes.Poland'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT
-
privilegeTarget: 'EQ.Samples:Site.Samples'
permission: GRANT