9

I just started to use the Java ScriptEngine to do little extensions to my Application then i noticed that i can import all the java classes in the script and use them without restrictions. Is there a way to specify what classes a script can use? I dont want them to do things like java.lang.System.exit(1);

lucidd
  • 577
  • 7
  • 13

3 Answers3

2

Well, you seem to need to learn about the Java SecurityManager. That's a pretty large topic, you might want to read up on it and then post a more specific question if you have trouble making it work for you.

bmargulies
  • 94,623
  • 39
  • 172
  • 299
  • 1
    SecuritiyManager sounds good i will look at it. Do you have any hints for me where to start on this big topic? – lucidd Dec 10 '09 at 13:18
1

Use the Java Security Manager. Refer this answer for an example.

Community
  • 1
  • 1
instantsetsuna
  • 8,713
  • 7
  • 23
  • 28
1

I solved this by putting "importPackage = null" on the top of all scripts, it seems to work but Im not sure if this hack can be avoided.

tamat
  • 216
  • 1
  • 7