📄️ Introduction
Il est courant dans le développement d'une application de devoir restreindre l'accès à certaines fonctionnalités en fonction du rôle de l'utilisateur. Par rôle on entend, par exemple, un "administrateur" qui aurait droit d'effectuer des tâches que les utilisateurs réguliers n'ont pas le droit d'effectuer.
📄️ 41-1 Créer une colonne rôle
On ajoutera une colonne à l'utilisateur pour contenir un rôle admin ou utilisateur. Comme les choix de rôle sont des options prédéfinies, on utilisatera un enum.
📄️ 41-2 Protection des routes selon le rôle
Pour protéger certaines routes en fonction du rôle, on peut se créer un autre Guard que nous pourrons ajouter aux fonctions de contrôleur à protéger.
📄️ 41-3 Stocker le rôle dans le jeton JWT
L'option la plus évidente est de retourner le rôle de l'utilisateur dans le jeton enregistré dans le localStorage. L'enjeu avec cette méthode est qu'une fois le jeton reçu et enregistré dans le localStorage, le rôle demeurera le même pour l'utilisateur tant et aussi longtemps que le jeton reste valide.