2010-03-03 12 views
3

J'écris une structure de conteneur qui peut déployer dynamiquement un fichier Jar contenant des classes développées par l'utilisateur dans le conteneur, puis en utilisant une interface Web exécuter certaines classes à partir du fichier Jar.Est-ce que quelqu'un sait comment une approche d'accès à la liste blanche similaire à Google App Engine peut être implémentée?

Tout le reste est bien défini, y compris les validations. Cependant, une exigence est de permettre uniquement l'accès à certaines classes JDK et autres bibliothèques de la classe développée par l'utilisateur. Clairement, cela est dû au fait que le conteneur aura besoin de l'assurance que quelqu'un (intentionnellement ou non) finit par exécuter un morceau de code Java qui entraîne un "mauvais" comportement.

Généralement, je trouve des choses sur Google sur presque tous les sujets. Dans ce cas, je ne pouvais pas :(

Répondre

2

Notez qu'un classloader personnalisé ne suffit pas contre une personne malveillante - il/elle peut accéder à un parent classloader et charger les classes restreintes par elle. en plus d'un classloader personnalisé, vous devez définir un security manager et de révoquer l'autorisation getClassLoader (et, peut-être, d'autres autorisations aussi).

+0

certains pseudo-code peut-être? –