Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplo 5: filtrado de la interfaz de usuario con permisos verificados y Cedar
También puedes usar los permisos verificados para implementar el filtrado RBAC de los elementos de la interfaz de usuario en función de las acciones autorizadas. Esto es extremadamente valioso para las aplicaciones que tienen elementos de interfaz de usuario sensibles al contexto que podrían estar asociados a usuarios o inquilinos específicos en el caso de una aplicación SaaS multiusuario.
En el siguiente ejemplo, Users
no Role
viewer
están autorizados a realizar actualizaciones. Para estos usuarios, la interfaz de usuario no debería mostrar ningún botón de actualización.

En este ejemplo, una aplicación web de una sola página tiene cuatro botones. Los botones que están visibles dependen Role
del usuario que esté actualmente conectado a la aplicación. A medida que la aplicación web de una sola página renderiza la interfaz de usuario, consulta los permisos verificados para determinar qué acciones está autorizado a realizar el usuario y, a continuación, genera los botones en función de la decisión de autorización.
La siguiente política especifica que el tipo Role
con un valor de viewer
puede ver tanto los usuarios como los datos. La decisión de ALLOW
autorizar esta política requiere una viewUsers
acción viewData
o, además, requiere que se asocie un recurso al tipo Data
oUsers
. Una ALLOW
decisión permite a la interfaz de usuario representar dos botones: viewDataButton
yviewUsersButton
.
permit ( principal in GuiAPP::Role::"viewer", action in [GuiAPP::Action::"viewData", GuiAPP::Action::"viewUsers"], resource ) when { resource in [GuiAPP::Type::"Data", GuiAPP::Type::"Users"] };
La siguiente política especifica que el tipo Role
con un valor de solo viewerDataOnly
puede ver datos. La decisión de ALLOW
autorizar esta política requiere una viewData
acción y también requiere que se asocie un recurso al tipoData
. Una ALLOW
decisión permite que la interfaz de usuario renderice el botónviewDataButton
.
permit ( principal in GuiApp::Role::"viewerDataOnly", action in [GuiApp::Action::"viewData"], resource in [GuiApp::Type::"Data"] );
La siguiente política especifica que el tipo Role
con un valor de admin
puede editar y ver datos y usuarios. La decisión de ALLOW
autorizar esta política requiere una acción de updateData
updateUsers
, viewData,
oviewUsers
, y también requiere que se asocie un recurso al tipo Data
oUsers
. Una ALLOW
decisión permite a la interfaz de usuario representar los cuatro botones: updateDataButton
updateUsersButton
,viewDataButton
, yviewUsersButton
.
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"] };