Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempio 5: filtraggio dell'interfaccia utente con autorizzazioni verificate e Cedar
Puoi anche utilizzare le autorizzazioni verificate per implementare il filtraggio RBAC degli elementi dell'interfaccia utente in base ad azioni autorizzate. Ciò è estremamente utile per le applicazioni con elementi dell'interfaccia utente sensibili al contesto che potrebbero essere associati a utenti o tenant specifici nel caso di un'applicazione SaaS multi-tenant.
Nell'esempio seguente, Users
non Role
viewer
sono autorizzati a eseguire aggiornamenti. Per questi utenti, l'interfaccia utente non dovrebbe visualizzare alcun pulsante di aggiornamento.

In questo esempio, un'applicazione Web a pagina singola ha quattro pulsanti. I pulsanti visibili dipendono dall'Role
utente che ha attualmente effettuato l'accesso all'applicazione. Quando l'applicazione Web a pagina singola esegue il rendering dell'interfaccia utente, richiede le autorizzazioni verificate per determinare quali azioni l'utente è autorizzato a eseguire, quindi genera i pulsanti in base alla decisione di autorizzazione.
La seguente politica specifica che il tipo Role
con un valore di viewer
può visualizzare sia gli utenti che i dati. Una decisione di ALLOW
autorizzazione per questa politica richiede un'viewUsers
azione viewData
o e richiede inoltre che una risorsa sia associata al tipo Data
oUsers
. Una ALLOW
decisione consente all'interfaccia utente di visualizzare due pulsanti: viewDataButton
eviewUsersButton
.
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 seguente politica specifica che il tipo Role
con un valore di viewerDataOnly
può solo visualizzare i dati. Una decisione di ALLOW
autorizzazione per questa politica richiede un'viewData
azione e richiede anche l'associazione di una risorsa al tipoData
. Una ALLOW
decisione consente all'interfaccia utente di eseguire il rendering del pulsanteviewDataButton
.
permit ( principal in GuiApp::Role::"viewerDataOnly", action in [GuiApp::Action::"viewData"], resource in [GuiApp::Type::"Data"] );
La seguente politica specifica che il tipo Role
con un valore di admin
può modificare e visualizzare dati e utenti. Una decisione di ALLOW
autorizzazione per questa politica richiede un'azione di updateData
updateUsers
viewUsers
, viewData,
o e richiede inoltre che una risorsa sia associata al tipo Data
oUsers
. Una ALLOW
decisione consente all'interfaccia utente di visualizzare tutti e quattro i pulsanti:updateDataButton
, updateUsersButton
viewDataButton
, eviewUsersButton
.
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"] };