As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplo 5: filtragem de interface do usuário com permissões verificadas e Cedar
Você também pode usar as Permissões verificadas para implementar a filtragem RBAC dos elementos da interface do usuário com base em ações autorizadas. Isso é extremamente valioso para aplicativos que têm elementos de interface de usuário sensíveis ao contexto que podem estar associados a usuários ou inquilinos específicos no caso de um aplicativo SaaS multilocatário.
No exemplo a seguir, Users
dos não Role
viewer
estão autorizados a realizar atualizações. Para esses usuários, a interface do usuário não deve renderizar nenhum botão de atualização.

Neste exemplo, um aplicativo web de página única tem quatro botões. Os botões visíveis dependem Role
do usuário que está atualmente conectado ao aplicativo. À medida que o aplicativo web de página única renderiza a interface do usuário, ele consulta as permissões verificadas para determinar quais ações o usuário está autorizado a realizar e, em seguida, gera os botões com base na decisão de autorização.
A política a seguir especifica que o tipo Role
com um valor de viewer
pode visualizar usuários e dados. Uma decisão de ALLOW
autorização para essa política exige uma viewUsers
ação viewData
or e também exige que um recurso seja associado ao tipo Data
ouUsers
. Uma ALLOW
decisão permite que a interface do usuário renderize dois botões: viewDataButton
e. viewUsersButton
permit ( principal in GuiAPP::Role::"viewer", action in [GuiAPP::Action::"viewData", GuiAPP::Action::"viewUsers"], resource ) when { resource in [GuiAPP::Type::"Data", GuiAPP::Type::"Users"] };
A política a seguir especifica que o tipo Role
com um valor de só viewerDataOnly
pode visualizar dados. Uma decisão de ALLOW
autorização para essa política exige uma viewData
ação e também exige que um recurso seja associado ao tipoData
. Uma ALLOW
decisão permite que a interface do usuário renderize o botãoviewDataButton
.
permit ( principal in GuiApp::Role::"viewerDataOnly", action in [GuiApp::Action::"viewData"], resource in [GuiApp::Type::"Data"] );
A política a seguir especifica que o tipo Role
com um valor de admin
pode editar e visualizar dados e usuários. Uma decisão de ALLOW
autorização para essa política exige uma ação de updateData
updateUsers
, viewData,
ouviewUsers
, e também exige que um recurso seja associado ao tipo Data
ouUsers
. Uma ALLOW
decisão permite que a interface do usuário renderize todos os quatro botões: updateDataButton
updateUsersButton
,viewDataButton
, e. viewUsersButton
permit ( principal in GuiApp::Role::"admin", action in [ GuiApp::Action::"updateData", GuiApp::Action::"updateUsers", GuiApp::Action::"viewData", GuiApp::Action::"viewUsers" ], resource ) when { resource in [GuiApp::Type::"Data", GuiApp::Type::"Users"] };