Besoin d'aide ?

Bonne pratique: coder route dans bdd

  • Avatar de michelange2008
    Membre depuis :
    27/11/2018
    Messages :
    2

    Bonjour,

    J'ai un projet dans lequel je veux qu'un utilisateur soit rerouté différemment en fonction d'un parametre nommé usertype_id (qui est une colonne de la bdd user) et qui est lié à une table usertypes qui contient la liste des types d'utilisateurs avec quelques éléments (icone par exemple).
    Pour cela, il est possible de mettre dans la table usertypes une colonne route qui donne le nom de la route telle qu'elle est définie dans le fichier web.php. Cela donne un code très simple mais:
    Ma question est : est-ce une bonne pratique ? Peut-on mettre en base de donnée des éléments de programmation ?
    Merci de vos réponses

  • Avatar de KYoann
    Membre depuis :
    11/02/2019
    Messages :
    37

    Salut,

    Pour un cas comme celui ci, j'aurais tendance à utiliser un middleware. car tu ne maitrise pas le faite que la personne récupère le lien qui correspondrait à un autre type d'utilisateur et à ce moment là, tu as une faille de sécurité.

    Tu trouvera un exemple detaillé sur cette page :

    https://medium.com/justlaravel/how-to-use-middleware-for-content-restriction-based-on-user-role-in-laravel-2d0d8f8e94c6

    Je rajouterais aussi des Polycies Security dans les controlleurs ayant des actions en base, si tu utilise les mêmes quelque soit le type d'utilisateur.

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2565

    Salut,

    Mettre un nom de route comme donnée d'un utilisateur me paraît assez éloigné de toute logique. Personnellement je mettrais un type d'utilisateur et ensuite dans le traitement de la redirection j'établirais un tableau de correspondance type d'utilisateur -> route de redirection.

Vous ne pouvez pas répondre à ce sujet.