Spring Security
1. Introduction à Spring SecuritySpring Security
Spring Security permet de sécuriser les applications à différents niveaux. Spring utilise des aspects (AOP) pour intercepter des méthodes et ajouter un contexte de sécurité.
Il s’articule autour de quatre concepts :
Principal |
L’utilisateur, le système ou l’appareil qui fait une action. |
Authentification |
Vérification de la validité des droits du Principal. |
Autorisation |
Vérification que l’action est autorisée pour le Principal. |
Ressource sécurisée |
La ressource pour laquelle il faut vérifier les droits d’accès. |
Il existe plusieurs mécanismes d’authentification basés sur :
-
un mécanisme ultra basique,
-
un digest,
-
un formulaire,
-
un accès X-509 (LDAP par exemple),
-
des cookies,
-
SSO (Single Sign-On).
Quand cela est possible, il est conseillé d’utiliser le SSO afin de réutiliser les identifiants de la session de son poste de travail.
Pour les applications très sensibles, il est possible d’utiliser un lecteur de carte à puce ou d’utiliser un système à token (système basé sur un nombre affiché sur un boîtier ou une calculette qui change toutes les x secondes).
À cette authentification peuvent être associés des droits qui sont enregistrés :
-
en dur dans un programme pendant le cycle de développement,
-
dans un fichier...