Comment Spring Boot améliore élégamment la sécurité des données de l'interface

1. Origines

Posez une question : Il ne suffit pas de vérifier les autorisations du menu des fonctions de l'interface. Vous devez également vérifier les autorisations des données. Par exemple : L'utilisateur A dispose de l'autorisation de l'interface pour supprimer une certaine donnée. Le paramètre de cette interface est de transmettre l'identifiant de l'enregistrement à supprimer ( ps : c'est ainsi que nous développons habituellement des interfaces). La logique d'exécution back-end consiste à transmettre l'authentification de l'utilisateur via les informations de connexion, puis à déterminer les autorisations du menu de l'interface, puis à exécuter la logique SQL suivante :

delete from table where id=?

L'identifiant ici est le paramètre passé par l'interface.À ce stade, si l'utilisateur B sait comment ajuster l'interface, il peut transmettre l'identifiant à volonté en fonction des caractéristiques auto-croissantes de l'identifiant, et les données des autres seront supprimées, c'est donc un problème sérieux qui doit être résolu. Ce problème peut être résolu en ajoutant des autorisations de données comme mentionné ci-dessus. La logique d'exécution est la suivante :

delete from table where id=? and user_id = userId

Cela empêche les données d'être manipulées par d'autres, ce qui signifie ajouter un jugement sur l'autorisation des données, mais cela ajoute de la complexité à la logique métier et rend difficile l'adaptation à l'ancienne logique métier de l'interface. Essentiellement, les données vues sur la page Web sont basées sur le rôle d'utilisateur. Pour ceux qui ont isolé les données, vous pouvez comprendre que les données que vous pouvez voir et les autorisations d'utilisation du menu de fonctions dont vous disposez peuvent presque éviter la situation ci-dessus, mais il n'est pas autorisé aux personnes qui comprennent le code d'utiliser des outils. comme un facteur pour ajuster l'interface de manière malveillante. Dans la situation ci-dessus, ce problème peut être transformé en comment empêcher les autres d'ajuster facilement l'interface. La solution n'est pas d' exposer les informations d'interface au réseau externe et de refuser de strier l'interface, améliorant ainsi efficacement la sécurité de l'interface.

2.Comment Spring Boot améliore la sécurité de l'interface

Le cœur de l'amélioration de la sécurité des interfaces dans les projets Spring Boot : le chiffrement et la signature ,

Je suppose que tu aimes

Origine blog.csdn.net/WXF_Sir/article/details/131111216
conseillé
Classement