J'écris un JACC
fournisseur.
En cours de route, cela signifie mettre en œuvre un PolicyConfiguration
.
Le PolicyConfiguration
est responsable de l'acceptation des informations de configuration du serveur d'applications, telles que les autorisations accordées à quels rôles. Ceci afin qu'un Policy
plus tard puisse prendre des décisions d'autorisation lorsqu'il lui est remis des informations sur l'utilisateur actuel et ce qu'il essaie de faire.
Cependant, il ne fait pas partie du PolicyConfiguration
contrat (atroce) de maintenir un mappage entre les rôles et leurs permissions, et Principals
qui sont assignés à ces rôles.
En règle générale - toujours, vraiment - un serveur d'applications héberge ce mappage. Par exemple, sur Glassfish, vous affectez cette cartographie en fournissant des choses comme sun-web.xml
et sun-ejb-jar.xml
et ainsi de suite avec vos modules Java EE. (Ces fichiers spécifiques au fournisseur sont chargés de dire, par exemple, superusers
est un groupe auquel le rôle d'application doit être attribué admins
.)
Je voudrais réutiliser les fonctionnalités fournies par ces fichiers, et je voudrais le faire pour un éventail de serveurs d'applications aussi large que possible.
Voici - de manière totalement arbitraire - l'opinion d'IBM sur la question, qui semble confirmer mon soupçon que ce que je veux faire est essentiellement impossible . (Plus de munitions pour mon cas que ce contrat Java EE ne vaut pas le papier sur lequel il est imprimé.)
Ma question: comment puis-je obtenir ces informations de mappage principal-rôle dans - pour commencer - Glassfish et JBoss à partir d'un PolicyConfiguration
? S'il y a une façon standard de le faire que je ne connais pas, je suis toute oreille.
Because JSR-115 does not define how to address role mapping, WebLogic JACC classes are used for role-to-principal mapping.
voir docs.oracle.com/cd/E24329_01/web.1211/e24485/…