2009-08-25 8 views
0

Nous essayons d'utiliser SecurityManager avec Resin 3.1.9 et rencontrons le problème suivant: CodeSource.getLocation() retourne null pour les JSP compilés.Comment accorder des autorisations JSP avec le fichier de stratégie SecurityManager dans Resin?

Cela signifie que nous ne pouvons pas utiliser une base de code spécifique à la clause de subvention dans notre fichier de stratégie, par exemple:

grant codeBase "file:/path_to_resin/runtime/work/-" { 
OR grant codeBase "file:/path_to_resin/webapp/JSP-source/-" { 
    //...some jsp-specific permissions 
}; 

Au lieu de cela, nous devons utiliser une clause de subvention universelle:

grant { 
    //..some jsp-specific permissions. Unfortunately, these will be applied 
    //to all code!!! 
}; 

Est y a-t-il un moyen de faire en sorte que les JSP aient un CodeSource approprié? Nous aimerions limiter les autorisations des bibliothèques tierces, mais accorder des autorisations à nos propres pages JSP. Si nous ne pouvons pas spécifier de JSP dans le fichier de stratégie, nous pourrions ne pas être en mesure de le faire, ou que pensez-vous?

EDIT: Nous déployons les JSP telles quelles, ne les recompilez donc pas. Cela pourrait avoir quelque chose à voir avec le problème.

Répondre

0

J'ai obtenu une réponse dans la liste de diffusion de résine et de la pensée que je poste ici aussi:

Il semble que la résine 3 a un bug avec cela et il y a maintenant an issue for it. Fondamentalement, la façon dont nous avons essayé devrait fonctionner, ou au moins il fonctionne sur résine 2. Alors, cela devrait fonctionner:

grant codeBase "file:/path_to_resin/runtime/work/-" { 
    //...some jsp-specific permissions 
}; 

Le plomb dev pour la résine a dit ceci: « Eh bien, le gestionnaire de sécurité tue la performance, donc nous généralement le décourager. " Nous pourrions devoir reconsidérer s'il est raisonnable d'utiliser SecurityManager. Voir mon autre question Should I use Security Manager in Java web applications? pour plus de discussion sur le sujet.

Questions connexes