Controlo de Acesso de Membros de Grupos
Se deseja restringir o acesso de utilizadores a determinados recursos, deverá recorrer a um conjunto avançado de permissões. Estas permissões são apelidadas de nível quatro e podem ser implementadas da seguinte forma:
doc["groups.name.raw"].stream().anyMatch(g -> g == "<group_name>")Por exemplo, no nosso caso, pretendemos que na listagem de utilizadores os titulares das contas register_demo e demo apenas consigam ver-se um ao outro. Como ambos os utiizadores pertencem ao mesmo grupo, podemos facilmente definir uma permissão desse tipo:
doc["groups.name.raw"].stream().anyMatch(g -> g == "Help Desk First Line"
TIP
As permissões de nível 4 possuem uma complexidade inerente a elas. Ainda assim, é possível testá-las com o auxílio dos campos User to impersonate e Entity to test. Enquanto que o primeiro campo se destina a indicar o nome do utilizador que irá executar a acção, já o último especifica a entidade onde irá ser aplicada a acção.
