2009-11-04 4 views
2

Dans une application bancaire ou similaire, plusieurs rôles sont généralement définis et des privilèges associés sont requis (par exemple, un utilisateur normal peut uniquement effectuer des transactions mais ne pas les publier alors qu'un superviseur peut les vérifier et les publier , sorte de fabricant/vérificateur). Nous devons également ajouter de nouveaux rôles et privilèges dans le système (pas sûr de ce dernier).Rôles/Privilèges dans une application Spring/Hibernate

Comment réaliser cet accès basé sur les rôles dans une application Spring/Hibernate? Surtout en termes de mise à l'échelle pour ajouter de nouveaux rôles/privilèges. Est-ce que Acegi (je ne l'ai jamais utilisé) peut aider? Toute autre idée serait appréciée qui peut m'aider à atteindre ce qui précède.

Merci,

Répondre

3

En tant que duffymo mentionné, Acegi a été renommé en "Spring Security" et c'est ce que je recommanderais si vous travaillez déjà avec Spring. Il existe plus de documentation en ligne sur Acegi que sur Spring Security. En cas de doute, vous trouverez des informations utiles dans les docs/didacticiels Acegi ainsi que sur les nouveautés Spring. Si vous pouvez concevoir votre table utilisateur en fonction du concept de Spring Security (nom d'utilisateur, mot de passe, rôles, chacun avec certains types et noms spécifiés), vous pouvez utiliser les classes DAO de Spring Security dès leur sortie de l'emballage; Sinon, vous créez une classe d'adaptateur minuscule pour connecter Spring Security à votre base de données pour la requête utilisateur.

Vous pouvez spécifier les rôles requis par servlet/URL ou même au niveau de la méthode. Il m'a fallu un jour ou deux pour comprendre les concepts impliqués, mais après cette configuration, c'était relativement facile, et j'étais heureux qu'ils aient déjà résolu la plupart des problèmes qui se posent dans le domaine de la sécurité Web.

2

Oui, Spring Security (anciennement connu sous le nom ACEGI) peut le faire.

Questions connexes