Je travaille pour configurer Spring-Security avec une application existante, pour une simple sécurité de base (c'est-à-dire quelles pages un utilisateur peut voir en fonction de ses rôles). La question s'est posée de se demander si nous pouvions définir quels rôles sont requis pour chaque page dans java au lieu du fichier ApplicationContext.xml. L'idée est de les stocker dans une table de notre base de données, afin que nous puissions les changer facilement sans redéploiement. Est-ce possible? Comment?Pouvez-vous configurer Spring-Security par programmation?
Répondre
Oui, vous pouvez configurer Spring-Security par programmation. Mais je ne pense pas que ce soit ce que vous voulez/devez faire. La question s'est posée de se demander si nous pouvions définir les rôles requis pour chaque page dans java au lieu du fichier ApplicationContext.xml. Vous pouvez implémenter votre propre classe AccessDecisionManager
qui interroge votre base de données pour aller chercher les règles (ou quoi que ce soit) pour chaque ressource/page. Ceci est décrit dans Section IV du manuel SpringSecurity. Alternativement, vous pouvez intégrer votre propre logique de contrôle d'accès personnalisée à l'intérieur de votre contrôleur MVC. Utilisez SpringSecurityContext
pour extraire l'objet Authorization
de la requête, extraire l'identité et/ou les autorités et implémenter la prise de décision comme vous le souhaitez.
Nous l'avons fait en utilisant des intercepteurs. Fondamentalement, un MethodInterceptor transfère un appel à n'importe quelle méthode que vous voulez (c'est-à-dire obtenir un objet de votre base de données). Vous pouvez alors, par programmation, intercepter l'objet et vérifier l'utilisateur actuel et faire à peu près tout ce que vous voulez en termes de contrôle d'accès. Si cela signifie interroger la base de données pour une liste d'utilisateurs qui ont accès (et donc une liste que vous pouvez modifier sans modifier le code), il en sera ainsi.
- 1. Android configurer le haut-parleur par programmation
- 2. comment configurer ip système par programmation
- 3. Comment obtenir le SpringSecurity SessionRegistry?
- 4. Comment configurer le fond d'écran iPhone par programmation
- 5. Puis-je configurer l'iPhone au réseau de bord par programmation?
- 6. Android Comment ajouter/configurer les paramètres Exchange par programmation?
- 7. Pouvez-vous configurer Axis pour utiliser HTTP/1.0 par programmation?
- 8. Programmation pilotée par les données/Programmation événementielle
- 9. Configurer par programme le logger de Jetty
- 10. Comment configurer "android: scrollbars = vertical" par programme?
- 11. SpringSecurity: toujours rediriger les utilisateurs connectés vers une page
- 12. Awaking Mac par programmation
- 13. Naviguer par programmation PowerPoint
- 14. Image créée par programmation?
- 15. Vista Série par programmation
- 16. Magento - Réordonner par programmation
- 17. Comment configurer Security.sandboxType grâce à la programmation dans Flex
- 18. Comment faire pour configurer la précision du pointeur de la souris par programmation
- 19. Comment configurer un nouveau point d'accès sur un téléphone Android, par programmation?
- 20. Configurer le port SSL du site Web IIS 6 par programmation?
- 21. Comment configurer la liaison par programmation pour forcer le codage JSON des messages WCF?
- 22. Programmation de moniteurs. Configurer et faire HP, Dell ou autre?
- 23. Comment configurer ELMAH par programme?
- 24. Comment configurer l'authentification par téléchargement?
- 25. Décalage de vue par programmation par barre d'état?
- 26. configurer SVN pour la programmation de script Action Flash
- 27. Défilement de UITextView par programmation
- 28. MapActivity: set APIKey par programmation
- 29. Dojo DataGrid, création par programmation
- 30. Javascript - invocation d'événements par programmation
Merci d'avoir souligné ce dont j'avais vraiment besoin. Je viens de finir de le mettre en place, et ça semble fonctionner plutôt bien. –