Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemple 5 : filtrage de l'interface utilisateur avec des autorisations vérifiées et Cedar
Vous pouvez également utiliser les autorisations vérifiées pour implémenter le filtrage RBAC des éléments de l'interface utilisateur en fonction des actions autorisées. Cela est extrêmement utile pour les applications qui comportent des éléments d'interface utilisateur contextuels susceptibles d'être associés à des utilisateurs ou à des locataires spécifiques dans le cas d'une application SaaS à locataires multiples.
Dans l'exemple suivant, Users
des ne Role
viewer
sont pas autorisés à effectuer des mises à jour. Pour ces utilisateurs, l'interface utilisateur ne doit afficher aucun bouton de mise à jour.

Dans cet exemple, une application Web d'une seule page comporte quatre boutons. Les boutons visibles dépendent Role
de l'utilisateur actuellement connecté à l'application. Lorsque l'application Web d'une seule page affiche l'interface utilisateur, elle interroge les autorisations vérifiées pour déterminer les actions que l'utilisateur est autorisé à effectuer, puis génère les boutons en fonction de la décision d'autorisation.
La politique suivante indique que le type dont la valeur est égale Role
à viewer
peut afficher à la fois les utilisateurs et les données. Une décision ALLOW
d'autorisation pour cette politique nécessite une viewUsers
action viewData
ou, et nécessite également qu'une ressource soit associée au type Data
ouUsers
. Une ALLOW
décision autorise l'interface utilisateur à afficher deux boutons : viewDataButton
etviewUsersButton
.
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 politique suivante indique que le type Role
dont la valeur est égale à ne viewerDataOnly
peut afficher que les données. Une décision ALLOW
d'autorisation pour cette politique nécessite une viewData
action et nécessite également qu'une ressource soit associée au typeData
. Une ALLOW
décision autorise l'interface utilisateur à afficher le boutonviewDataButton
.
permit ( principal in GuiApp::Role::"viewerDataOnly", action in [GuiApp::Action::"viewData"], resource in [GuiApp::Type::"Data"] );
La politique suivante indique que le type Role
dont la valeur est égale à admin
peut modifier et afficher les données et les utilisateurs. Une décision ALLOW
d'autorisation pour cette politique nécessite une action de updateData
updateUsers
, viewData,
ouviewUsers
, et nécessite également qu'une ressource soit associée au type Data
ouUsers
. Une ALLOW
décision autorise l'interface utilisateur à afficher les quatre boutons : updateDataButton
updateUsersButton
,viewDataButton
, etviewUsersButton
.
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"] };