Мы разрабатываем апплет, и нам нужно, чтобы он мог читать / записывать файлы в каталоге временных файлов пользователя (например, C: \ Documents and Settings \ USERNAME \ Local Settings \ Temp).
Апплет подписан, пользователь щелкает опцию «разрешить» при запуске апплета, а на панели управления Java есть «Разрешить пользователю предоставлять разрешения для подписанного контента» и «Разрешить пользователю предоставлять разрешения для контента отнедоверенные полномочия "включены.
Однако при запуске мы получаем исключение SecurityException:
java.lang.SecurityException: Unable to create temporary file
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at com.jniwrapper.util.AppletHelper.b(SourceFile:104)
at com.jniwrapper.util.AppletHelper.a(SourceFile:79)
at com.jniwrapper.util.AppletHelper.b(SourceFile:50)
at com.jniwrapper.util.AppletHelper.init(SourceFile:122)
at com.x.Y.init(Y.java:31)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.SecurityException: Unable to create temporary file
Если мы отредактируем файл java.policy, чтобы предоставить все всем, тогда апплет работает нормально, но это явно небезопасно.Какие минимальные разрешения мы должны предоставить, чтобы позволить апплету читать / записывать / создавать файлы в каталоге временных файлов пользователя?