J'utilise un schéma de sécurité basé sur les attributs de session. Je sais que Spring a Acegi Security mais je n'ai pas beaucoup de temps pour étudier ce module. Je veux juste partager ceci pour solliciter des commentaires.Sécurité Spring MVC basée sur l'attribut de session
Le pseudocode est comme ceci.
En cas de connexion réussie, je définis un attribut sur la session utilisateur. L'objet que je place en tant qu'attribut de session est un simple javabean avec une carte de privilèges.
public class UserInfo { public Chaîne getRole() {}; public Map checkPrivilege() {}; // getters et setters }
Les attributs de session contiennent également le rôle de l'utilisateur. (Il pourrait être un Utilisateur/Invité/Admin/Super Admin). Maintenant, il y a certains privilèges qui sont autorisés à l'utilisateur.
Pour mon JSP, je vérifie simplement la session de l'utilisateur pour son rôle et ses privilèges.
Mon code est rugueux comme celui-ci en utilisant JSTL
IF (User Info in Session is 'User' and has this privilege)
Add Button is shown
Else
No Add Button is shown.
Je ces questions:
- sont des attributs de session sécurisée qui ne considérés autre ne peut renifler ou pirater?
- La sécurité basée sur ce schéma est-elle considérée comme suffisamment sûre?
Merci pour la réponse rapide. Je n'ai pas donné assez de pensées sur la sécurité sauf pour comprendre quelque chose comme assigner des rôles dans mon web.xml que je trouve un peu compliqué. Pouvez-vous me donner une idée de l'autre partie de l'infrastructure de sécurité que je devrais examiner? –
Vous aurez besoin d'un cadre d'autorisation distinct qui s'intégrera à votre infrastructure d'authentification personnalisée. Vous trouverez cependant que Spring Security est essentiellement le framework que vous êtes en train d'écrire. Pourquoi le faire encore? –
Honnêtement, je ne sais rien sur la sécurité. Merci pour cette excellente contribution. –