Bonjour,
Je développe une application sous React et je me pose beaucoup de questions concernant sa "sécurisation".
L'une d'elles est la suivante : les utilisateurs se connectent et je récupère leur profil (user/admin) que je stocke dans un objet d'un état (dans un contexte), afin de différencier l'affichage. C'est immédiat avec des rendus conditionnels du style :

return(
   ...
   {isAdmin ? 
      <AdminComp />
      : null
   }
 ...
 )

Or, on sait que chacun peut modifier toute valeur du code grâce aux outils des navigateurs, et donc se faire "passer" pour un administrateur.
Bien sûr, pour les actions en base autorisées pour les admin, des mécanismes de contrôle supplémentaires sont possibles au niveau backend (par exemple ACL sur la bdd). Mais pour l'affichage, comment s'y prendre pour interdire à un utilisateur lambda l'accès aux composants réservés aux admins ?

1 réponse


Réponse courte : Tu ne peux pas. Dans tous les cas comme tu le dis c'est le backend qui va bloquer la moindre action.