J'ai une application web utilisant Rails comme backend et AngularJS comme frontend et il a un système d'autorisation plutôt compliqué qui doit cacher/montrer les boutons dans le frontend en conséquence. Par exemple, imaginez quelque chose comme ebay, si j'ai créé un produit, je peux éditer, supprimer, etc. mais quelqu'un peut partager un produit avec moi et je peux aussi éditer, mais pas supprimer. L'autorisation est donc calculée par ressource et n'utilise pas de rôles.Comment utiliser les autorisations dorsales dans le frontend
Je pensais que l'ajout d'un attribut « permissions » à chaque objet JSON, quelque chose comme:
[{
id: 1,
name: "product 1",
permissions: {
canEdit: true,
canDelete: false
}
},
{
id: 2,
name: "product 2",
permissions: {
canEdit: true,
canDelete: true
}
}]
Y at-il meilleure pratique d'envoyer chaque autorisations de ressources au frontend?
Pour être clair, ces autorisations ne sont utilisées que pour afficher/masquer boutons, le backend bloque toujours cette ressource même si la personne change les valeurs du frontend
Vous ne devriez pas gérer des permissions comme celle-ci sur le front comme quelqu'un pourrait facilement le modifier ... –
ces permissions sont seulement utilisées pour montrer/cacher les boutons, le changer ne permettra pas à la personne d'effectuer des actions –