2010-02-03 2 views
3

Si vous utilisez la sécurité gérée par conteneur Java EE 6, vous pouvez configurer des contraintes de sécurité pour les ressources dans le descripteur de déploiement web.xml. Existe-t-il d'autres moyens de le faire? Par exemple, le conteneur pourrait les extraire d'une base de données, comme il le fait avec les données de l'utilisateur.Autres moyens de configurer les contraintes de sécurité avec la sécurité gérée par conteneur en dehors de web.xml?

Est-ce quelque chose comme cela possible? Je voudrais un moyen qui n'a pas besoin de redéployer la webapp.

Merci d'avance.

Répondre

1

En fait, l'approche standard consiste à utiliser un protocole LDAP dans lequel vous déclarez des utilisateurs et les attribuez à des groupes LDAP qui sont ensuite mappés à des contraintes de sécurité. L'administration est effectuée dans le LDAP au niveau des utilisateurs. Et une fois les contraintes de sécurité fixées, elles ne changent presque jamais dans mon expérience (pourquoi le feraient-elles?). Consultez le tutoriel SecureJavaEE6App pour plus d'informations à ce sujet. Donc, pour répondre clairement à votre question, en tirant contraintes à partir d'une base de données est impossible IMO, ce n'est pas comment la sécurité Java EE fonctionne. Si vous avez besoin de plus de flexibilité, jetez un oeil à Spring Security mais je ne pense pas que cela permette de définir des rôles dynamiquement non plus.

Pour être honnête, je ne comprends pas vraiment le cas d'utilisation. Comme je l'ai dit, une fois définies, les contraintes de sécurité ne changent pas en général. Et si vous avez besoin de protéger de nouvelles ressources, il est très probable que vous allez redéployer l'application. Mais il me manque peut-être quelque chose

+0

Merci d'avoir répondu. Mais pour autant que je puisse voir, LDAP est juste un moyen de conserver les données de l'utilisateur. Ce que j'ai demandé est de tenir les contraintes de sécurité dans une DB, c'est-à-dire que la ressource "/ XY" est protégée et ne peut être accessible que par les rôles A, B et C. Ai-je raté quelque chose? – c0d3x

Questions connexes